name: Build an image to deploy website on: # Runs on pushes targeting the default branch push: tags: - v* # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Environment variables available to all jobs and steps in this workflow env: HUGO_ENV: production HUGO_VERSION: "0.121.2" GO_VERSION: "1.21.4" NODE_VERSION: "18" jobs: # Build job build: runs-on: cth-ubuntu-latest steps: - name: Check out repository uses: https://github.com/actions/checkout@v4 - name: Setup node uses: https://github.com/actions/setup-node@v4 with: node-version: '${{ NODE_VERSION }}' - name: Setup Hugo uses: https://github.com/peaceiris/actions-hugo@v2 with: hugo-version: '${{ HUGO_VERSION }}' extended: true - name: Setup Go uses: https://github.com/actions/setup-go@v5 with: go-version: '1.21.4' - name: Setup Project run: npm run project-setup - name: Install npm dependencies run: npm install - name: Compile website run: npm run build - name: Set up Docker Buildx uses: https://github.com/docker/setup-buildx-action@v3 - name: Login to registry uses: https://github.com/docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} registry: 'h3m6q87t.gra7.container-registry.ovh.net' - name: Build and push uses: https://github.com/docker/build-push-action@v5 with: context: . push: true tags: 'h3m6q87t.gra7.container-registry.ovh.net/chill_website/web:${{ github.ref_name }}'