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