From 3780f8e864fd6558de20abf1a21c33c04d6bad8d Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 20:33:32 -0700 Subject: [PATCH 1/8] fix error log. --- .github/workflows/build.yaml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index a868b1f..3b14b7d 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -56,3 +56,30 @@ jobs: file: ${{ env.PROJECT_PATH }}/coverage.txt flags: unittests fail_ci_if_error: false + + buildfreebsd: + runs-on: macos-latest + env: + PROJECT_PATH: /go/src/github.com/analogj/scrutiny + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Build Binaries + uses: vmactions/freebsd-vm@v0.1.4 + with: + usesh: true + prepare: pkg install -y curl go + run: | + pwd + ls -lah + whoami + env + freebsd-version + + mkdir -p $(dirname "$PROJECT_PATH") + cp -a $GITHUB_WORKSPACE $PROJECT_PATH + cd $PROJECT_PATH + + make freebsd/amd64 freebsd/386 + + From 9ece82f3f53af3de38585e0cb5dc935ba51eab8c Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 20:35:42 -0700 Subject: [PATCH 2/8] change version --- .github/workflows/build.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 3b14b7d..4f78184 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -58,6 +58,7 @@ jobs: fail_ci_if_error: false buildfreebsd: + name: Build FreeBSD runs-on: macos-latest env: PROJECT_PATH: /go/src/github.com/analogj/scrutiny @@ -65,7 +66,7 @@ jobs: - name: Checkout uses: actions/checkout@v2 - name: Build Binaries - uses: vmactions/freebsd-vm@v0.1.4 + uses: vmactions/freebsd-vm@v0.1.3 with: usesh: true prepare: pkg install -y curl go From 0f788cc9ce2c3fd077657d0488da0252ac2fb296 Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 20:49:24 -0700 Subject: [PATCH 3/8] lock go-version. installing make. fix copy command? add GOPATH --- .github/workflows/build.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4f78184..0de6f99 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -62,6 +62,7 @@ jobs: runs-on: macos-latest env: PROJECT_PATH: /go/src/github.com/analogj/scrutiny + GOPATH: /go steps: - name: Checkout uses: actions/checkout@v2 @@ -69,7 +70,7 @@ jobs: uses: vmactions/freebsd-vm@v0.1.3 with: usesh: true - prepare: pkg install -y curl go + prepare: pkg install -y curl go-1.13.4,1 gmake run: | pwd ls -lah @@ -78,9 +79,9 @@ jobs: freebsd-version mkdir -p $(dirname "$PROJECT_PATH") - cp -a $GITHUB_WORKSPACE $PROJECT_PATH + cp -R $GITHUB_WORKSPACE $PROJECT_PATH cd $PROJECT_PATH - make freebsd/amd64 freebsd/386 + make freebsd/amd64 From ecd6b7e1281fbe04fb078326bd466dabdb6e10e3 Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 20:59:34 -0700 Subject: [PATCH 4/8] cannot lock go version (for now). --- .github/workflows/build.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 0de6f99..382cbd9 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -70,7 +70,7 @@ jobs: uses: vmactions/freebsd-vm@v0.1.3 with: usesh: true - prepare: pkg install -y curl go-1.13.4,1 gmake + prepare: pkg install -y curl go gmake run: | pwd ls -lah From 0864b8000c9da1a2d52271eac88e08f35efdf743 Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 21:08:10 -0700 Subject: [PATCH 5/8] pass env vars. --- .github/workflows/build.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 382cbd9..7e6cdc0 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -69,7 +69,9 @@ jobs: - name: Build Binaries uses: vmactions/freebsd-vm@v0.1.3 with: + envs: 'PROJECT_PATH GOPATH' usesh: true + #TODO: lock go version using https://www.jeremymorgan.com/tutorials/golang/how-to-install-go-freebsd/ prepare: pkg install -y curl go gmake run: | pwd From d252333ba95c5f033750b3cf3c0d5df123e2475d Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 21:25:07 -0700 Subject: [PATCH 6/8] ignore makefile. --- .github/workflows/build.yaml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 7e6cdc0..82610f3 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -63,13 +63,15 @@ jobs: env: PROJECT_PATH: /go/src/github.com/analogj/scrutiny GOPATH: /go + GOOS: freebsd + GOARCH: amd64 steps: - name: Checkout uses: actions/checkout@v2 - name: Build Binaries uses: vmactions/freebsd-vm@v0.1.3 with: - envs: 'PROJECT_PATH GOPATH' + envs: 'PROJECT_PATH GOPATH GOOS GOARCH' usesh: true #TODO: lock go version using https://www.jeremymorgan.com/tutorials/golang/how-to-install-go-freebsd/ prepare: pkg install -y curl go gmake @@ -77,13 +79,26 @@ jobs: pwd ls -lah whoami - env freebsd-version mkdir -p $(dirname "$PROJECT_PATH") cp -R $GITHUB_WORKSPACE $PROJECT_PATH cd $PROJECT_PATH - make freebsd/amd64 + mkdir -p /build + + echo "building web binary (OS = ${GOOS}, ARCH = ${GOARCH})" + go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o /build/scrutiny-web-${GOOS}-${GOARCH} -tags "static netgo sqlite_omit_load_extension" webapp/backend/cmd/scrutiny/scrutiny.go + + chmod +x "/build/scrutiny-web-${GOOS}-${GOARCH}" + file "/build/scrutiny-web-${GOOS}-${GOARCH}" || true + ldd "/build/scrutiny-web-${GOOS}-${GOARCH}" || true + + echo "building collector binary (OS = ${GOOS}, ARCH = ${GOARCH})" + go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o /build/scrutiny-collector-metrics-${GOOS}-${GOARCH} -tags "static netgo" collector/cmd/collector-metrics/collector-metrics.go + + chmod +x "/build/scrutiny-collector-metrics-${GOOS}-${GOARCH}" + file "/build/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true + ldd "/build/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true From a4e193fb25be3b62905d396a65afb641b8b21068 Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 21:44:47 -0700 Subject: [PATCH 7/8] remove freebsd config from makefile. Adding freebsd specific releases as a post release step --- .github/workflows/build.yaml | 44 --------------- .github/workflows/release-freebsd.yaml | 77 ++++++++++++++++++++++++++ Makefile | 41 -------------- 3 files changed, 77 insertions(+), 85 deletions(-) create mode 100644 .github/workflows/release-freebsd.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 82610f3..362aacc 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -57,48 +57,4 @@ jobs: flags: unittests fail_ci_if_error: false - buildfreebsd: - name: Build FreeBSD - runs-on: macos-latest - env: - PROJECT_PATH: /go/src/github.com/analogj/scrutiny - GOPATH: /go - GOOS: freebsd - GOARCH: amd64 - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Build Binaries - uses: vmactions/freebsd-vm@v0.1.3 - with: - envs: 'PROJECT_PATH GOPATH GOOS GOARCH' - usesh: true - #TODO: lock go version using https://www.jeremymorgan.com/tutorials/golang/how-to-install-go-freebsd/ - prepare: pkg install -y curl go gmake - run: | - pwd - ls -lah - whoami - freebsd-version - - mkdir -p $(dirname "$PROJECT_PATH") - cp -R $GITHUB_WORKSPACE $PROJECT_PATH - cd $PROJECT_PATH - - mkdir -p /build - - echo "building web binary (OS = ${GOOS}, ARCH = ${GOARCH})" - go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o /build/scrutiny-web-${GOOS}-${GOARCH} -tags "static netgo sqlite_omit_load_extension" webapp/backend/cmd/scrutiny/scrutiny.go - - chmod +x "/build/scrutiny-web-${GOOS}-${GOARCH}" - file "/build/scrutiny-web-${GOOS}-${GOARCH}" || true - ldd "/build/scrutiny-web-${GOOS}-${GOARCH}" || true - - echo "building collector binary (OS = ${GOOS}, ARCH = ${GOARCH})" - go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o /build/scrutiny-collector-metrics-${GOOS}-${GOARCH} -tags "static netgo" collector/cmd/collector-metrics/collector-metrics.go - - chmod +x "/build/scrutiny-collector-metrics-${GOOS}-${GOARCH}" - file "/build/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true - ldd "/build/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true - diff --git a/.github/workflows/release-freebsd.yaml b/.github/workflows/release-freebsd.yaml new file mode 100644 index 0000000..68bac9c --- /dev/null +++ b/.github/workflows/release-freebsd.yaml @@ -0,0 +1,77 @@ +# compiles FreeBSD artifacts and attaches them to build +name: Release FreeBSD + +on: + release: + # Only use the types keyword to narrow down the activity types that will trigger your workflow. + types: [published] +jobs: + + release-freebsd: + name: Release FreeBSD + runs-on: macos-latest + env: + PROJECT_PATH: /go/src/github.com/analogj/scrutiny + GOPATH: /go + GOOS: freebsd + GOARCH: amd64 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + ref: ${{github.event.release.tag_name}} + - name: Build Binaries + uses: vmactions/freebsd-vm@v0.1.3 + with: + envs: 'PROJECT_PATH GOPATH GOOS GOARCH' + usesh: true + #TODO: lock go version using https://www.jeremymorgan.com/tutorials/golang/how-to-install-go-freebsd/ + prepare: pkg install -y curl go gmake + run: | + pwd + ls -lah + whoami + freebsd-version + + mkdir -p $(dirname "$PROJECT_PATH") + cp -R $GITHUB_WORKSPACE $PROJECT_PATH + cd $PROJECT_PATH + + mkdir -p $GITHUB_WORKSPACE/dist + + echo "building web binary (OS = ${GOOS}, ARCH = ${GOARCH})" + go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o $GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH} -tags "static netgo sqlite_omit_load_extension" webapp/backend/cmd/scrutiny/scrutiny.go + + chmod +x "$GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH}" + file "$GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH}" || true + ldd "$GITHUB_WORKSPACE/dist/scrutiny-web-${GOOS}-${GOARCH}" || true + + echo "building collector binary (OS = ${GOOS}, ARCH = ${GOARCH})" + go build -ldflags "-extldflags=-static -X main.goos=${GOOS} -X main.goarch=${GOARCH}" -o $GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH} -tags "static netgo" collector/cmd/collector-metrics/collector-metrics.go + + chmod +x "$GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH}" + file "$GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true + ldd "$GITHUB_WORKSPACE/dist/scrutiny-collector-metrics-${GOOS}-${GOARCH}" || true + + + - name: Release Asset - Web - freebsd-amd64 + id: upload-release-asset1 + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.SCRUTINY_GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: './dist/frontend/scrutiny-web-freebsd-amd64' + asset_name: scrutiny-web-freebsd-amd64 + asset_content_type: application/octet-stream + + - name: Release Asset - Collector - freebsd-amd64 + id: upload-release-asset2 + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.SCRUTINY_GITHUB_TOKEN }} + with: + upload_url: ${{ github.event.release.upload_urll }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: './dist/frontend/scrutiny-web-freebsd-amd64' + asset_name: scrutiny-collector-metrics-freebsd-amd64 + asset_content_type: application/octet-stream diff --git a/Makefile b/Makefile index 5051b97..c22f82e 100644 --- a/Makefile +++ b/Makefile @@ -39,46 +39,5 @@ windows/amd64: @echo "building collector binary (OS = $(OS), ARCH = $(ARCH))" xgo -v --targets="$(OS)/$(ARCH)" -ldflags "-extldflags=-static -X main.goos=$(OS) -X main.goarch=$(ARCH)" -out scrutiny-collector-metrics -tags "static netgo" ${GO_WORKSPACE}/collector/cmd/collector-metrics/ -freebsd/amd64: export GOOS = freebsd -freebsd/amd64: export GOARCH = amd64 -freebsd/amd64: - mkdir -p /build - - @echo "building web binary (OS = $(GOOS), ARCH = $(GOARCH))" - go build -ldflags "-extldflags=-static -X main.goos=$(GOOS) -X main.goarch=$(GOARCH)" -o /build/scrutiny-web-$(GOOS)-$(GOARCH) -tags "static netgo sqlite_omit_load_extension" webapp/backend/cmd/scrutiny/scrutiny.go - - chmod +x "/build/scrutiny-web-$(GOOS)-$(GOARCH)" - file "/build/scrutiny-web-$(GOOS)-$(GOARCH)" || true - ldd "/build/scrutiny-web-$(GOOS)-$(GOARCH)" || true - - @echo "building collector binary (OS = $(GOOS), ARCH = $(GOARCH))" - go build -ldflags "-extldflags=-static -X main.goos=$(GOOS) -X main.goarch=$(GOARCH)" -o /build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH) -tags "static netgo" collector/cmd/collector-metrics/collector-metrics.go - - chmod +x "/build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH)" - file "/build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH)" || true - ldd "/build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH)" || true - -freebsd/386: export GOOS = freebsd -freebsd/386: export GOARCH = 386 -freebsd/386: - mkdir -p /build - - @echo "building web binary (OS = $(GOOS), ARCH = $(GOARCH))" - go build -ldflags "-extldflags=-static -X main.goos=$(GOOS) -X main.goarch=$(GOARCH)" -o /build/scrutiny-web-$(GOOS)-$(GOARCH) -tags "static netgo sqlite_omit_load_extension" webapp/backend/cmd/scrutiny/scrutiny.go - - chmod +x "/build/scrutiny-web-$(GOOS)-$(GOARCH)" - file "/build/scrutiny-web-$(GOOS)-$(GOARCH)" || true - ldd "/build/scrutiny-web-$(GOOS)-$(GOARCH)" || true - - @echo "building collector binary (OS = $(GOOS), ARCH = $(GOARCH))" - go build -ldflags "-extldflags=-static -X main.goos=$(GOOS) -X main.goarch=$(GOARCH)" -o /build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH) -tags "static netgo" collector/cmd/collector-metrics/collector-metrics.go - - chmod +x "/build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH)" - file "/build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH)" || true - ldd "/build/scrutiny-collector-metrics-$(GOOS)-$(GOARCH)" || true - - - - # clean: # rm scrutiny-collector-metrics-* scrutiny-web-* From 273be111b423d4c5eda9c4dd2061cd81e083636a Mon Sep 17 00:00:00 2001 From: Jason Kulatunga Date: Sun, 25 Apr 2021 21:45:43 -0700 Subject: [PATCH 8/8] fixing path. --- .github/workflows/release-freebsd.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-freebsd.yaml b/.github/workflows/release-freebsd.yaml index 68bac9c..43574f7 100644 --- a/.github/workflows/release-freebsd.yaml +++ b/.github/workflows/release-freebsd.yaml @@ -61,7 +61,7 @@ jobs: GITHUB_TOKEN: ${{ secrets.SCRUTINY_GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps - asset_path: './dist/frontend/scrutiny-web-freebsd-amd64' + asset_path: './dist/scrutiny-web-freebsd-amd64' asset_name: scrutiny-web-freebsd-amd64 asset_content_type: application/octet-stream @@ -72,6 +72,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.SCRUTINY_GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_urll }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps - asset_path: './dist/frontend/scrutiny-web-freebsd-amd64' + asset_path: './dist/scrutiny-collector-metrics-freebsd-amd64' asset_name: scrutiny-collector-metrics-freebsd-amd64 asset_content_type: application/octet-stream