chill_hugoplate/.gitea/workflows/build-image.yaml

71 lines
1.8 KiB
YAML

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 }}'