This repository has been archived by the owner on Sep 6, 2024. It is now read-only.
Merge pull request #70 from ItsDrike/profile-cmd #202
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
# Cancel already running workflows if new ones are scheduled | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
validation: | |
uses: ./.github/workflows/validation.yml | |
unit-tests: | |
uses: ./.github/workflows/unit-tests.yml | |
docker: | |
uses: ./.github/workflows/docker.yml | |
needs: [unit-tests, validation] | |
permissions: | |
packages: write | |
contents: read | |
id-token: write | |
deploy-portainer: | |
runs-on: ubuntu-latest | |
needs: [docker] | |
env: | |
WEBHOOK: ${{ secrets.PORTAINER_WEBHOOK }} | |
if: (github.event_name == 'push' || github.event == 'workflow_dispatch') && github.ref == 'refs/heads/main' | |
steps: | |
- name: Trigger Portainer Webhook | |
if: env.WEBHOOK != '' | |
run: | | |
response=$(curl -s -X POST -o /dev/null -w "%{http_code}" ${{ secrets.PORTAINER_WEBHOOK }}) | |
if [[ "$response" -lt 200 || "$response" -ge 300 ]]; then | |
echo "Webhook trigger failed with response code $response" | |
exit 1 | |
fi | |
# Produce a pull request payload artifact with various data about the | |
# pull-request event (such as the PR number, title, author, ...). | |
# This data is then be picked up by status-embed.yml action. | |
pr_artifact: | |
name: Produce Pull Request payload artifact | |
runs-on: ubuntu-latest | |
steps: | |
- name: Prepare Pull Request Payload artifact | |
id: prepare-artifact | |
if: always() && github.event_name == 'pull_request' | |
continue-on-error: true | |
run: cat $GITHUB_EVENT_PATH | jq '.pull_request' > pull_request_payload.json | |
- name: Upload a Build Artifact | |
if: always() && steps.prepare-artifact.outcome == 'success' | |
continue-on-error: true | |
uses: actions/upload-artifact@v4 | |
with: | |
name: pull-request-payload | |
path: pull_request_payload.json |