on: push: tags: - '[0-9]+\.[0-9]+\.[0-9]+' jobs: check-tag: runs-on: docker steps: - name: Checking Out Repository Code uses: https://code.forgejo.org/actions/checkout@v3 - name: Check if Version in package.json matches Tag run: | VERSION=$(cat package.json | grep "version" | sed 's/.*://' | tr -d , | tr -d \" | tr -d " " ) if test $VERSION != "${{ github.ref_name }}"; then echo "Expected Version is: '${{ github.ref_name }}' actual Version is: '$VERSION'"; exit 1 else echo "Version is: '$VERSION'"; fi checking: needs: [ check-tag ] runs-on: docker container: forgejo.neshweb.net/ci-docker-images/node-alpine-git:1 steps: - name: Checkout source code uses: https://code.forgejo.org/actions/checkout@v3 - name: Install packages run: npm i - name: Run astro check (linting + static analysis) run: npm run astro check build-site: needs: [ checking ] if: success() runs-on: dind steps: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log into Docker Package Registry uses: docker/login-action@v3 with: registry: forgejo.neshweb.net username: ${{ secrets.FORGEJO_USERNAME }} password: ${{ secrets.FORGEJO_TOKEN }} - name: Build and push to Docker Package Registry uses: docker/build-push-action@v5 with: push: true tags: forgejo.neshweb.net/firq/fgo-ta-com-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/fgo-ta-com-website:latest create-release: needs: [ build-site ] if: success() runs-on: docker steps: - name: Release New Version uses: https://code.forgejo.org/actions/forgejo-release@v1 with: direction: upload url: https://forgejo.neshweb.net release-dir: release token: ${{ secrets.FORGEJO_TOKEN }} tag: ${{ github.ref_name }}