From 7bdff2fc63490642d790ca89b0fd1e5b345d5dc1 Mon Sep 17 00:00:00 2001 From: Layla Manley Date: Wed, 26 Oct 2022 22:22:28 -0400 Subject: [PATCH] Implement Simple CI (#1) --- .github/workflows/publish_release.yaml | 42 ++++++++++++++++++++++++++ .github/workflows/validate.yaml | 23 ++++++++++++++ Makefile | 3 +- 3 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/publish_release.yaml create mode 100644 .github/workflows/validate.yaml diff --git a/.github/workflows/publish_release.yaml b/.github/workflows/publish_release.yaml new file mode 100644 index 0000000..341233e --- /dev/null +++ b/.github/workflows/publish_release.yaml @@ -0,0 +1,42 @@ +name: Publish + +on: + release: + types: + - created + workflow_dispatch: {} + +jobs: + publish: + name: Build & Publish + runs-on: ubuntu-latest + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - name: Version + run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + - name: Test + run: | + make test + - name: Build + run: | + make build + - name: Login to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + push: true + tags: yeslayla/birdbot:latest,yeslayla/birdbot:${{ env.RELEASE_VERSION }} \ No newline at end of file diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml new file mode 100644 index 0000000..d9ab4a5 --- /dev/null +++ b/.github/workflows/validate.yaml @@ -0,0 +1,23 @@ +name: Validate + +on: + push: {} + pull_request: {} + +jobs: + publish: + name: Test & Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: '>=1.18.0' + - name: Test + run: | + make test + - name: Build + run: | + make build \ No newline at end of file diff --git a/Makefile b/Makefile index 931f4ef..95ac6e0 100644 --- a/Makefile +++ b/Makefile @@ -2,8 +2,7 @@ PROJECTNAME="Bird Bot" PROJECT_BIN="birdbot" # Go related variables. -GOBASE=$(shell pwd) -GOBIN=$(GOBASE)/build +GOBIN=./build GOFILES=$(wildcard *.go) # Make is verbose in Linux. Make it silent.