Skip to content

debug CI

debug CI #36

Workflow file for this run

on:
push:
branches:
- '*'
jobs:
build_website:
permissions:
# these permissions are needed to authenticate with gcloud
contents: 'read'
id-token: 'write'
env:
IMAGE_NAME: lichturm-website
IMAGE_TAG: prod
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
- name: Build Website
# TODO: pick a version?
uses: jakejarvis/hugo-build-action@master
with:
args: --minify
# so we can inspect what is being produced
- name: Upload Website as Artifact
uses: actions/upload-artifact@master
with:
name: website
path: './public'
#https://github.com/google-github-actions/auth
- name: Google Auth
id: auth
uses: 'google-github-actions/auth@v2'
with:
token_format: 'access_token'
project_id: ${{ secrets.PROJECT_ID }}
service_account: ${{ secrets.SERVICE_ACCOUNT }}
workload_identity_provider: ${{ secrets.WORKLOAD_IDENTITY_PROVIDER }}
#project_id: bob
#service_account: 123
#workload_identity_provider: xyz
# https://github.com/docker/login-action
- name: Docker Auth
id: docker-auth
uses: 'docker/[email protected]'
with:
username: 'oauth2accesstoken'
password: '${{ steps.auth.outputs.access_token }}'
registry: '${{ secrets.CONTAINER_REGISTRY_URL }}-docker.pkg.dev'
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
# https://github.com/docker/build-push-action
- name: Build and push
uses: docker/build-push-action@v6
with:
# we are not using the default git context because that would ignore our hugo build output
# see documentation above regarding build context
#context: .
#file: ./Dockerfile
push: true
tags: "${{ secrets.CONTAINER_REGISTRY_URL }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}"
# - name: Build and Push Container
# run: |
# docker buildx build -t "bobobobo/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}"
# docker push "${{ secrets.CONTAINER_REGISTRY_URL }}/${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }}"
#
# - name: Install s3cmd
# run: |
# pip install s3cmd
#
# - name: Configure s3cmd
# run: |
# echo "[default]" > ~/.s3cfg
# echo "access_key = ${{ secrets.S3_KEY_ID }}" >> ~/.s3cfg
# echo "secret_key = ${{ secrets.S3_SECRET_KEY }}" >> ~/.s3cfg
# echo "host_base = fsn1.your-objectstorage.com" >> ~/.s3cfg
# echo "host_bucket = %(bucket)s.fsn1.your-objectstorage.com" >> ~/.s3cfg
#
# - name: Upload files to Hetzner S3
# # with this configuration, the bucket should be specified as e.g. "s3://bucket1"
# run: |
# s3cmd sync ./public ${{ secrets.S3_BUCKET }} --delete-removed