name: Release Artifacts on: release: types: [published] jobs: upload-artifacts: runs-on: ubuntu-latest steps: - name: ⏬ Checkout repository uses: actions/checkout@v4 - name: Get the latest successful build id: build uses: https://github.com/actions/github-script@v6 with: script: | const { owner, repo } = context.repo; const workflowRuns = await github.actions.listWorkflowRunsForRepo({ owner, repo, status: 'success', event: 'push', }); const latestRun = workflowRuns.data.workflow_runs[0]; return latestRun; - name: Download build artifacts uses: actions/download-artifact@v3 with: run-id: ${{ steps.build.outputs.id }} - name: Create a directory for artifacts run: mkdir -p release_artifacts - name: Extract artifacts run: | for artifact in $(ls *.tar.gz); do tar -xzf $artifact -C release_artifacts done shell: bash - name: Upload artifacts to release uses: actions/upload-release-asset@v1 with: upload_url: ${{ github.event.release.upload_url }} asset_path: release_artifacts/* asset_name: artifact.tar.gz asset_content_type: application/gzip env: PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}