diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml new file mode 100644 index 0000000..259d3b1 --- /dev/null +++ b/.gitea/workflows/release.yml @@ -0,0 +1,79 @@ +name: Build'n check +on: + pull_request: + branches: + - main + types: + - closed +jobs: + build: + name: Check Template and Build example + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Install dependencies for Nix setup action + run: | + apt update -y + apt install sudo -y + - name: Setup Nix + uses: cachix/install-nix-action@v27 + with: + nix_path: nixpkgs=channel:nixos-unstable + - name: Stylecheck + run: nix-shell --run "./run-fmt.sh --check src/lib.typ" + - id: build + name: Build + run: | + nix-shell --run ./run-ci.sh + - name: Upload artifact + id: artifact-upload + uses: actions/upload-artifact@v4 + with: + name: example-document + path: ${{ github.workspace }}/example.pdf + if-no-files-found: error + retention-days: 1 + - name: Output artifact ID + run: echo 'Artifact ID is ${{ steps.artifact-upload.outputs.artifact-id }}' + release: + runs-on: ubuntu-latest + needs: build + if: contains(github.event.head_commit.message, 'Release-As:') + env: + USERNAME: servostar + steps: + - name: Check out repository code + uses: actions/checkout@v3 + - name: Setup go + uses: actions/setup-go@v4 + with: + go-version: '>=1.20.1' + - name: Download Artifact + id: download + uses: actions/download-artifact@v4 + with: + name: example-document + path: ${{ github.workspace }}/Example.pdf + - name: 'Artifact Download Path' + run: echo ${{ steps.download.outputs.download-path }} + - name: Prepare Release + run: echo ${{ github.sha }} > Release.txt + - name: Tag Release Commit + run: | + echo ${{github.event.head_commit.message}} | grep -Po '(?<=Release-As: )v\d+\.\d+\.\d+' > Version.txt + echo "==> Tagging for version: $(cat Version.txt)" + git config --global credential.helper store + echo "https://${USERNAME}:${{secrets.RELEASE_TOKEN}}}@${{github.repositoryUrl}}" > ~/.git-credentials + git tag -m "Release" $(cat Version.txt) + git push ${{github.repositoryUrl}} $(cat Version.txt) + - name: Create release + id: create-release + uses: https://gitea.com/actions/release-action@main + with: + files: |- + Example.pdf + Release.txt + Version.txt + LICENSE + api_key: '${{secrets.RELEASE_TOKEN}}'