From 28ff3b3805f8a61692544dda40dcbb01b50eb29a Mon Sep 17 00:00:00 2001 From: Danny Bessems Date: Fri, 25 Jul 2025 15:09:58 +1000 Subject: [PATCH] build: Add workflow skaffolding --- .gitea/workflows/actions.yaml | 83 +++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .gitea/workflows/actions.yaml diff --git a/.gitea/workflows/actions.yaml b/.gitea/workflows/actions.yaml new file mode 100644 index 0000000..6c8013b --- /dev/null +++ b/.gitea/workflows/actions.yaml @@ -0,0 +1,83 @@ +name: build-image +on: [push] + +jobs: + semrel_dryrun: + name: Semantic Release (Dry-run) + runs-on: gitea-actions-act-runner-0 + outputs: + version: ${{ steps.sem_rel.outputs.version }} + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Set up Node + uses: actions/setup-node@v3 + with: + node-version: 20 + - name: Install dependencies + run: | + npm install \ + semantic-release \ + @semantic-release/commit-analyzer \ + @semantic-release/exec + - name: Semantic Release (dry-run) + id: sem_rel + run: | + npx semantic-release \ + --package @semantic-release/exec \ + --package semantic-release \ + --branches ${{ gitea.refname }} \ + --tag-format 'v${version}' \ + --dry-run \ + --plugins @semantic-release/commit-analyzer,@semantic-release/exec \ + --analyzeCommits @semantic-release/commit-analyzer \ + --verifyRelease @semantic-release/exec \ + --verifyReleaseCmd 'echo "version=${nextRelease.version}" >> $GITHUB_OUTPUT' + env: + GIT_CREDENTIALS: ${{ secrets.GIT_USERNAME }}:${{ secrets.GIT_APIKEY }} + - name: Assert semantic release output + run: | + [[ -z "${{ steps.sem_rel.outputs.version }}" ]] && { + echo 'No release tag - exiting'; exit 1 + } || { + echo 'Release tag set correctly: ${{ steps.sem_rel.outputs.version }}'; exit 0 + } + + build_image: + name: Build image + runs-on: gitea-actions-act-runner-0 + needs: semrel_dryrun + # container: ghcr.io/catthehacker/ubuntu:act-latest + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Print Hello + run: echo "Hello from Harvester!" + + # semrel: + # name: Semantic Release + # runs-on: dind-rootless + # needs: [build_container,build_chart] + # steps: + # - name: Check out repository code + # uses: actions/checkout@v3 + # - name: Set up Node + # uses: actions/setup-node@v3 + # with: + # node-version: 20 + # - name: Install dependencies + # run: | + # npm install \ + # semantic-release \ + # @semantic-release/changelog \ + # @semantic-release/commit-analyzer \ + # @semantic-release/git \ + # @semantic-release/release-notes-generator + # - name: Semantic Release + # run: | + # npx semantic-release \ + # --branches ${{ gitea.refname }} \ + # --tag-format 'v${version}' \ + # --plugins @semantic-release/commit-analyzer,@semantic-release/release-notes-generator,@semantic-release/changelog,@semantic-release/git + # env: + # GIT_CREDENTIALS: ${{ secrets.GIT_USERNAME }}:${{ secrets.GIT_APIKEY }}