37 lines
1.4 KiB
YAML
37 lines
1.4 KiB
YAML
name: Build and Publish Docker Image
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v3
|
|
|
|
# The Dockerfile has two runnable stages and no sensible default: an
|
|
# untargeted build produces the last one (frontend) on its own, which
|
|
# then has nothing to proxy /api to. Both get published separately.
|
|
- name: Build Docker Images
|
|
run: |
|
|
docker build --target backend \
|
|
-t git.alexav.gg/${{ gitea.repository }}:backend-latest \
|
|
-t git.alexav.gg/${{ gitea.repository }}:backend-${{ gitea.sha }} .
|
|
docker build --target frontend \
|
|
-t git.alexav.gg/${{ gitea.repository }}:frontend-latest \
|
|
-t git.alexav.gg/${{ gitea.repository }}:frontend-${{ gitea.sha }} .
|
|
|
|
- name: Login to Gitea Registry
|
|
run: |
|
|
echo "${{ secrets.RUNNER_TOKEN }}" | docker login git.alexav.gg -u ${{ gitea.actor }} --password-stdin
|
|
|
|
- name: Push Docker Images
|
|
run: |
|
|
docker push git.alexav.gg/${{ gitea.repository }}:backend-latest
|
|
docker push git.alexav.gg/${{ gitea.repository }}:backend-${{ gitea.sha }}
|
|
docker push git.alexav.gg/${{ gitea.repository }}:frontend-latest
|
|
docker push git.alexav.gg/${{ gitea.repository }}:frontend-${{ gitea.sha }}
|