87 lines
2.4 KiB
YAML
87 lines
2.4 KiB
YAML
name: Build dev docker image
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- '*'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
|
|
# Checkout repository for build
|
|
- name: Checkout beer-inventory repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ gitea.ref }}
|
|
|
|
- name: Set up Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
cache: npm
|
|
|
|
# Install NPM packages
|
|
- name: Install NPM packages
|
|
run: npm ci
|
|
|
|
# Build project
|
|
- name: Build project
|
|
run: |
|
|
npx zenstack generate
|
|
npx remix vite:build
|
|
|
|
# Login to registry
|
|
- name: Gitea package registry login
|
|
run: |
|
|
echo "${{ secrets.ACCESS_TOKEN }}" | docker login gitea.furb.it \
|
|
-u "${{ secrets.USERNAME }}" \
|
|
--password-stdin
|
|
|
|
# Build image
|
|
- name: Build Docker image - gitea.furb.it/${{ gitea.repository }}:${{ gitea.ref_name }}
|
|
run: |
|
|
docker build \
|
|
-f Dockerfile \
|
|
--label beer-inventory.ref=${{ gitea.ref_name }} \
|
|
-t gitea.furb.it/${{ gitea.repository }}:${{ gitea.ref_name }} \
|
|
.
|
|
|
|
- name: Tag Docker image - gitea.furb.it/${{ gitea.repository }}:latest
|
|
if: startsWith(gitea.ref, 'refs/tags/')
|
|
run: |
|
|
docker image tag \
|
|
gitea.furb.it/${{ gitea.repository }}:${{ gitea.ref_name }} \
|
|
gitea.furb.it/${{ gitea.repository }}:latest
|
|
|
|
# Push images
|
|
- name: Push Docker image
|
|
run: |
|
|
docker push gitea.furb.it/${{ gitea.repository }}:${{ gitea.ref_name }}
|
|
|
|
- name: Push Docker image :latest
|
|
if: startsWith(gitea.ref, 'refs/tags/')
|
|
run: |
|
|
docker push gitea.furb.it/${{ gitea.repository }}:latest
|
|
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
if: startsWith(gitea.ref, 'refs/tags/')
|
|
steps:
|
|
# Create release using gitea-release-action
|
|
- name: Create release
|
|
uses: akkuman/gitea-release-action@v1
|
|
with:
|
|
server: "https://gitea.furb.it"
|
|
token: ${{ secrets.ACCESS_TOKEN }}
|
|
repository: ${{ gitea.repository }}
|
|
tag_name: ${{ gitea.ref_name }}
|
|
name: ${{ gitea.ref_name }}
|
|
body: |
|
|
## Docker images
|
|
`gitea.furb.it/${{ gitea.repository }}:${{ gitea.ref_name }}`
|
|
`gitea.furb.it/${{ gitea.repository }}:latest` |