• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: generate-pre-release
2on:
3  workflow_run:
4    workflows: [debian-sapi-generator-tool]
5    types: [completed]
6    branches: [main]
7jobs:
8  prerelease:
9    runs-on: ubuntu-latest
10    env:
11      ARTIFACT_NAME: sapi_generator_tool-linux
12
13    steps:
14    - uses: actions/checkout@v3
15
16    - name: Prepare environment
17      run: mkdir -p "$GITHUB_WORKSPACE/build"
18
19    - name: Download Build Artifact
20      uses: actions/github-script@v6
21      with:
22        script: |
23          let artifactName = process.env.ARTIFACT_NAME;
24          let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
25            owner: context.repo.owner,
26            repo: context.repo.repo,
27            run_id: context.payload.workflow_run.id,
28          });
29          let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
30            return artifact.name == artifactName
31          })[0];
32          let download = await github.rest.actions.downloadArtifact({
33            owner: context.repo.owner,
34            repo: context.repo.repo,
35            artifact_id: matchArtifact.id,
36            archive_format: 'zip',
37          });
38          let fs = require('fs');
39          fs.writeFileSync(
40            `${process.env.GITHUB_WORKSPACE}/build/${artifactName}.zip`,
41            Buffer.from(download.data)
42          );
43
44    - name: "Repackage as *-<arch>.tar.gz"
45      run: |
46        ( \
47          cd "$GITHUB_WORKSPACE/build"; \
48          unzip "${ARTIFACT_NAME}.zip"; \
49          tar czf sapi_generator_tool-linux-x86_64.tar.gz \
50            sapi_generator_tool-linux-x86_64
51        )
52
53    - name: Create Pre-release
54      uses: marvinpinto/action-automatic-releases@v1.2.1
55      with:
56        repo_token: "${{secrets.GITHUB_TOKEN}}"
57        automatic_release_tag: "latest"
58        prerelease: true
59        files: |
60          ${{github.workspace}}/build/sapi_generator_tool-linux-x86_64.tar.gz
61