From d308c46b124da709d0c9ef9e8df8afa58cc53612 Mon Sep 17 00:00:00 2001 From: Tueem Date: Fri, 19 Jun 2026 11:32:50 +0200 Subject: [PATCH] feat(core): add core structure --- .gitea/workflows/gobuild.yaml | 58 ++++++++++++++++++++++++++++ .gitea/workflows/release-docker.yaml | 46 ++++++++++++++++++++++ cmd/main.go | 1 + go.mod | 3 ++ 4 files changed, 108 insertions(+) create mode 100644 .gitea/workflows/gobuild.yaml create mode 100644 .gitea/workflows/release-docker.yaml create mode 100644 cmd/main.go create mode 100644 go.mod diff --git a/.gitea/workflows/gobuild.yaml b/.gitea/workflows/gobuild.yaml new file mode 100644 index 0000000..27692af --- /dev/null +++ b/.gitea/workflows/gobuild.yaml @@ -0,0 +1,58 @@ +name: build + +on: + pull_request: + push: + branches: + - '**' + tags: + - '**' + +jobs: + Go-Build: + runs-on: ubuntu-latest + steps: + - name: Set VERSION env var + run: | + SANITIZED_REF_NAME=${GITHUB_REF_NAME//\//-} + + if [[ "$GITHUB_REF_TYPE" == "tag" ]]; then + VERSION="$SANITIZED_REF_NAME" + else + VERSION="$SANITIZED_REF_NAME-${GITHUB_SHA::10}" + fi + + echo "$VERSION" + echo "VERSION=$VERSION" >> "$GITHUB_ENV"'' + + - name: Checkout code + uses: actions/checkout@v5 + + - name: Set up Go + uses: actions/setup-go@v6 + with: + go-version: '^1.24.9' + + - name: Download Dependencies + run: go mod download + + - name: Build linux-amd64 + run: GOOS=linux GOARCH=amd64 go build -v -o out/outfit-voting-abi26_linux-amd64-${{ env.VERSION }} ./cmd + + - name: Build linux-arm64 + run: GOOS=linux GOARCH=arm64 go build -v -o out/outfit-voting-abi26_linux-arm64-${{ env.VERSION }} ./cmd + + - name: Build win-amd64 + run: GOOS=windows GOARCH=amd64 go build -v -o out/outfit-voting-abi26_win-amd64-${{ env.VERSION }}.exe ./cmd + + - name: Build darwin-amd64 + run: GOOS=darwin GOARCH=amd64 go build -v -o out/outfit-voting-abi26_darwin-amd64-${{ env.VERSION }} ./cmd + + - name: Build darwin-arm64 + run: GOOS=darwin GOARCH=arm64 go build -v -o out/outfit-voting-abi26_darwin-arm64-${{ env.VERSION }} ./cmd + + - name: Upload artifact + uses: christopherhx/gitea-upload-artifact@v4 + with: + name: artifacts + path: out diff --git a/.gitea/workflows/release-docker.yaml b/.gitea/workflows/release-docker.yaml new file mode 100644 index 0000000..6b610db --- /dev/null +++ b/.gitea/workflows/release-docker.yaml @@ -0,0 +1,46 @@ +name: docker + +on: + push: + tags: + - '**' + +jobs: + docker: + runs-on: ubuntu-latest + steps: + - name: Set VERSION env var + run: | + SANITIZED_REF_NAME=${GITHUB_REF_NAME//\//-} + + if [[ "$GITHUB_REF_TYPE" == "tag" ]]; then + VERSION="$SANITIZED_REF_NAME" + else + VERSION="$SANITIZED_REF_NAME-${GITHUB_SHA::10}" + fi + + echo "$VERSION" + echo "VERSION=$VERSION" >> "$GITHUB_ENV"'' + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ vars.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and push + uses: docker/build-push-action@v6 + with: + push: true + platforms: | + linux/amd64 + linux/arm64/v8 + tags: | + tueem/outfit-voting-abi26:${{ env.VERSION }} + tueem/outfit-voting-abi26:latest \ No newline at end of file diff --git a/cmd/main.go b/cmd/main.go new file mode 100644 index 0000000..1d619dd --- /dev/null +++ b/cmd/main.go @@ -0,0 +1 @@ +package cmd diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..3b10bd6 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module tomatentum.net/outfit-voting-abi26 + +go 1.25.5