Skip to content

Commit

Permalink
Add GitHub Actions workflow for Go project and Docker builds
Browse files Browse the repository at this point in the history
  • Loading branch information
L4B0MB4 committed Nov 27, 2024
1 parent c9fc822 commit 2591f88
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 0 deletions.
79 changes: 79 additions & 0 deletions .github/workflows/identification.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go

name: Go

on:
push:
branches: ["master", "development"]
tags:
- "*"
pull_request:
branches: ["master", "development"]

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: "1.23.1"

- name: Test
run: go test -v ./...

publish-docker-command:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development' || startsWith(github.ref, 'refs/tags/')
uses: docker/build-push-action@v6
with:
file: "./docker/command/Dockerfile"
push: true
tags: ${{ vars.DOCKERHUB_USERNAME }}/identification_command:${{ github.ref == 'refs/heads/master' && 'latest' || github.ref_name }}
- name: Build without push
if: github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && !startsWith(github.ref, 'refs/tags/')
uses: docker/build-push-action@v6
with:
file: "./docker/command/Dockerfile"
push: false
publish-docker-query:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push
if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/development' || startsWith(github.ref, 'refs/tags/')
uses: docker/build-push-action@v6
with:
file: ".docker/query/Dockerfile"
push: true
tags: ${{ vars.DOCKERHUB_USERNAME }}/identification_query:${{ github.ref == 'refs/heads/master' && 'latest' || github.ref_name }}
- name: Build without push
if: github.ref != 'refs/heads/master' && github.ref != 'refs/heads/development' && !startsWith(github.ref, 'refs/tags/')
uses: docker/build-push-action@v6
with:
file: "./docker/query/Dockerfile"
push: false
7 changes: 7 additions & 0 deletions docker/command/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM golang:1.23-alpine
RUN apk add build-base
WORKDIR /app
COPY . .
WORKDIR /app/cmd/commander
RUN go env -w CGO_ENABLED=1 && go build -o commander .
CMD [ "./commander" ]
7 changes: 7 additions & 0 deletions docker/query/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
FROM golang:1.23-alpine
RUN apk add build-base
WORKDIR /app
COPY . .
WORKDIR /app/cmd/queryer
RUN go env -w CGO_ENABLED=1 && go build -o queryer .
CMD [ "./queryer" ]

0 comments on commit 2591f88

Please sign in to comment.