on: push: tags: - '[0-9]+\.[0-9]+\.[0-9]+-pre\.[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=$(npm pkg get version --workspaces=false | 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:latest 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/firq-dev-website:${{ github.ref_name }}, forgejo.neshweb.net/firq/firq-dev-website:preview 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 }} prerelease: true # auto-deploy-dockge: # needs: [ build-site ] # runs-on: docker # if: success() # container: nikolaik/python-nodejs:python3.11-nodejs21 # steps: # - name: Configure pip # run: | # pip config set global.index-url https://pypi.org/simple # pip config set global.extra-index-url https://forgejo.neshweb.net/api/packages/Firq/pypi/simple/ # pip config set global.timeout 60 # pip config set global.trusted-host "pypi.org forgejo.neshweb.net" # - name: Install Dockge CLI # run: pip install dockge-cli # - name: Configure Dockge CLI # run: | # dockge host https://dockge.firq.dev # dockge login --user ${{ secrets.DOCKGE_USER }} --password ${{ secrets.DOCKGE_CREDENTIAL }} # - name: Check status and redeploy # run: | # dockge status firq-dev-preview # dockge update firq-dev-preview # dockge status firq-dev-preview # - name: Reset CLI # run : | # dockge logout # dockge exit