From f71208f1a184d4dedab819bfda92a448fd6019bd Mon Sep 17 00:00:00 2001 From: Marc Cataford Date: Sat, 20 Jul 2024 19:03:05 -0400 Subject: [PATCH] refactor: pull artifact handling in action --- .../actions/push-status-to-discord/action.yml | 20 ++++++++++++++++++- .forgejo/workflows/ci.yml | 15 +------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/.forgejo/actions/push-status-to-discord/action.yml b/.forgejo/actions/push-status-to-discord/action.yml index 44395a0..ea7728c 100644 --- a/.forgejo/actions/push-status-to-discord/action.yml +++ b/.forgejo/actions/push-status-to-discord/action.yml @@ -10,6 +10,9 @@ inputs: required: true message-id: description: "Message ID to edit." + init: + description: "Marks the first status push, prevents pulling context." + outputs: message-id: @@ -23,8 +26,23 @@ runs: uses: actions/setup-python@v5 with: python-version: 3.12 + - uses: actions/download-artifact@v3 + if: ${{ !inputs.init }} + with: + name: "${{ github.sha }}-${{github.run_number}}-discord-context.zip" + path: /tmp + - id: set-context + run: | + echo "message-id=$(cat /tmp/discord-context)" >> $GITHUB_OUTPUT - name: Install dependencies + if: ${{ always() }} run: pip install -r ./.forgejo/actions/push-status-to-discord/requirements.txt - id: post-message run: | - echo "message-id=$(python ./.forgejo/actions/push-status-to-discord/main.py ${{ inputs.webhook-url }} ${{ inputs.project-name }} ${{ inputs.status }} ${{ inputs.message-id }})" >> $GITHUB_OUTPUT + echo "message-id=$(python ./.forgejo/actions/push-status-to-discord/main.py ${{ inputs.webhook-url }} ${{ inputs.project-name }} ${{ inputs.status }} ${{ steps.set-context.outputs.message-id }})" >> discord-context + - uses: actions/upload-artifact@v3 + with: + path: ./discord-context + name: "${{ github.sha }}-${{ github.run_number }}-discord-context.zip" + retention-days: 1 + overwrite: true diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index b2f532e..edaa85d 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -12,12 +12,7 @@ jobs: webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }} project-name: ${{ github.repository }} status: "Started" - - run: echo ${{ steps.post-status.outputs.message-id }} >> discord-context - - uses: actions/upload-artifact@v3 - with: - path: ./discord-context - name: "${{ github.sha }}-${{ github.run_number }}-discord-context.zip" - retention-days: 1 + init: true sast: runs-on: ubuntu-latest steps: @@ -34,16 +29,8 @@ jobs: if: always() steps: - uses: actions/checkout@v4 - - uses: actions/download-artifact@v3 - with: - name: "${{ github.sha }}-${{github.run_number}}-discord-context.zip" - path: /tmp - - id: set-context - run: | - echo "message-id=$(cat /tmp/discord-context)" >> $GITHUB_OUTPUT - uses: ./.forgejo/actions/push-status-to-discord with: webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }} project-name: ${{ github.repository }} status: "Success" - message-id: ${{ steps.set-context.outputs.message-id }}