Feature/68 add release ci build job (#70) #17
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: development-release | |
on: | |
push: | |
branches: | |
- development | |
jobs: | |
build: | |
name: Build binary | |
runs-on: ubuntu-latest | |
container: | |
image: golangci/golangci-lint:latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Make repo safe | |
run: git config --global --add safe.directory /__w/SOARCA-GUI/SOARCA-GUI | |
- name: Install Templ | |
run: go install github.com/a-h/templ/cmd/templ@latest | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- run: npm ci | |
- name: Build with make | |
run: make build | |
- name: 'Upload Artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.sha }} | |
path: bin/* | |
retention-days: 1 | |
docker-build: | |
needs: build | |
name: Build docker image and push it to docker hub | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Make repo safe | |
run: git config --global --add safe.directory /__w/SOARCA/SOARCA-GUI | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Download bin | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: ${{ github.sha }} | |
- name: Move files to bin folder and make executable | |
run: | | |
mkdir -p bin | |
mv ${{ github.sha }}/* ./bin/ | |
chmod +x bin/soarca-gui-* | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_HUB_USER }} | |
password: ${{ secrets.DOCKER_HUB_TOKEN }} | |
- name: Get version | |
run: | | |
export VERSION=$(git describe --tags --dirty) | |
echo "describe_version=$(git describe --tags --dirty)" >> "$GITHUB_ENV" | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
build-args: | | |
VERSION=${{ env.describe_version }} | |
push: true | |
tags: cossas/soarca-gui:${{ env.describe_version }},cossas/soarca-gui:development |