40 lines
1.0 KiB
YAML
40 lines
1.0 KiB
YAML
name: Build and Release
|
|
run-name: ${{ gitea.actor }} build 🚀
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: azenkain/go-node:latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Create .env file
|
|
run: |
|
|
mkdir -p assets/resources
|
|
printf "%s" "${{ secrets.ENV_FILE }}" > assets/resources/.env
|
|
|
|
- name: Download Go dependencies
|
|
run: go mod download
|
|
|
|
- name: Build for linux (embed env)
|
|
run: GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o build/history-api ./cmd/history-api
|
|
|
|
- name: Stop and remove old containers
|
|
run: |
|
|
docker compose down --remove-orphans || true
|
|
|
|
- name: Clean up only this project images
|
|
run: |
|
|
docker image prune -f
|
|
|
|
- name: Build and restart containers
|
|
run: |
|
|
# Đảm bảo file .env tồn tại trước khi chạy
|
|
docker compose --env-file ./assets/resources/.env up -d --build |