diff --git a/.forgejo/workflows/build-project.yml b/.forgejo/workflows/build-project.yml deleted file mode 100644 index fe8649b..0000000 --- a/.forgejo/workflows/build-project.yml +++ /dev/null @@ -1,93 +0,0 @@ -# This workflow will build a standard Go project structure into -# a binary and release it via the Forgejo Releases tab. -# -# The anticipated project structure references something like below, -# however I would expect you to change "go-project" to "src". -# -# . -# ├── cmd -# │   └── sample -# │   └── main.go -# ├── internal -# │   └── greet -# │   └── greet.go -# ├── pkg -# │   └── util -# │   └── util.go -# ├── go.mod -# └── README.md -# -# We expect go.mod to exist and be correct. - -name: Build & Release Go Project - -on: - push: - tags: - - 'v*' - -jobs: - build: - runs-on: docker - container: debian:12 - - steps: - - - name: Prepare Build Environment - run: | - apt update && apt -y install zip nodejs curl jq golang - - - name: Checkout repo - uses: actions/checkout@v4 - - - name: Build All Binaries - run: | - # Create the build directory for a consistent place to store binaries - mkdir -p build - - # Do a quick tidy - go mod tidy - - # Iterate over the cmd directory to compile all binaries found there - ls ./cmd | while read BINARY ; do - go build -v -o build/${BINARY} ./cmd/${BINARY} - done - - - name: Create a release if it doesn't exist - run: | - # Curl request that uses the repos token & Forgejo's built-in variables - # to create a new release based on the tag that you have pushed - # - # It doesn't care if the release exists or not. - curl -X POST "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases" \ - -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ - -H "Content-Type: application/json" \ - -d '{ - "tag_name": "'"${GITHUB_REF##*/}"'", - "target_commitish": "main", - "name": "'"${GITHUB_REF##*/}"'", - "body": "Auto release", - "draft": false, - "prerelease": false - }' || true - - - name: Upload Binaries To Release Tab - run: | - # Set some variables because it's cleaner than in-line - TAG_NAME="${GITHUB_REF##*/}" - REPO_NAME="$(basename $GITHUB_REPOSITORY)" - - # Get the release ID created in the last step - RELEASE_ID=$(curl -s \ - -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ - "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases/tags/${TAG_NAME}" \ - | jq -r '.id') - - # We're going to want to push each binary, so we'll iterate over them and - # push them one-by-one. - ls build | while read BINARY ; do - curl -X POST "${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}/releases/${RELEASE_ID}/assets?name=${BINARY}" \ - -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ - -H "Content-Type: application/zip" \ - --data-binary "@build/${BINARY}" - done diff --git a/README.md b/README.md index 1f25be5..9752505 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,3 @@ # workflow-sample-go -Demonstrates how to configure a typical Go project. - -Project layout based on the -[golang-standards/project-layout](https://github.com/golang-standards/project-layout) -project layout standard (that was a mouthful) as I find it to be the most -comfortable to work within. - -The build pipelines are made for this standard and are probably difficult to -adapt. +Demonstrates how to configure a typical Go project. \ No newline at end of file diff --git a/cmd/sample/main.go b/cmd/sample/main.go deleted file mode 100644 index f911cbc..0000000 --- a/cmd/sample/main.go +++ /dev/null @@ -1,15 +0,0 @@ -package main - -import ( - "fmt" - "repobase.net/j/internal/greet" - "repobase.net/j/pkg/util" -) - -func main() { - name := "World" - message := greet.Hello(name) - fmt.Println(message) - - util.PrintVersion() -} diff --git a/go.mod b/go.mod deleted file mode 100644 index b230720..0000000 --- a/go.mod +++ /dev/null @@ -1,2 +0,0 @@ -module repobase.net/j/workflow-sample-go -go 1.22 diff --git a/internal/greet/greet.go b/internal/greet/greet.go deleted file mode 100644 index 08b50cb..0000000 --- a/internal/greet/greet.go +++ /dev/null @@ -1,5 +0,0 @@ -package greet - -func Hello(name string) string { - return "Hello, " + name + "!" -} diff --git a/pkg/util/util.go b/pkg/util/util.go deleted file mode 100644 index e4dac5f..0000000 --- a/pkg/util/util.go +++ /dev/null @@ -1,7 +0,0 @@ -package util - -import fmt - -func PrintVersion() { - fmt.Println("v4.2.0") -}