Build fixes
This commit is contained in:
24
.github/workflows/build.yml
vendored
24
.github/workflows/build.yml
vendored
@@ -9,7 +9,15 @@ jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: self-hosted
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
steps:
|
||||
- name: Set version
|
||||
id: version
|
||||
run: echo "::set-output name=version::$(echo ${GITHUB_REF#refs/tags/})"
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
@@ -35,7 +43,7 @@ jobs:
|
||||
-X 'version.BuiltAt=$(date +%Y-%m-%dT%H:%M:%S)'
|
||||
-X 'version.GoVersion=$(go version)'
|
||||
-X 'version.GitCommit=$(git rev-parse HEAD)'
|
||||
-X 'version.Version=${{ github.ref }}'
|
||||
-X 'version.Version=${{ steps.version.outputs.version }}'
|
||||
buildmode: default
|
||||
trimpath: true
|
||||
|
||||
@@ -43,7 +51,7 @@ jobs:
|
||||
run: |
|
||||
mkdir -p compressed_artifacts
|
||||
for platform in windows-amd64.exe linux-amd64 linux-arm64 darwin-arm64; do
|
||||
zip -r "compressed_artifacts/zurg-$platform-${{ github.ref }}.zip" "artifacts/zurg-$platform"
|
||||
zip -r "compressed_artifacts/zurg-${{ steps.version.outputs.version }}-$platform.zip" "artifacts/zurg-$platform"
|
||||
done
|
||||
|
||||
- name: Upload artifacts to workflow
|
||||
@@ -57,6 +65,10 @@ jobs:
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Set version
|
||||
id: version
|
||||
run: echo "::set-output name=version::$(echo ${GITHUB_REF#refs/tags/})"
|
||||
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v3
|
||||
with:
|
||||
@@ -68,8 +80,8 @@ jobs:
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: Release ${{ github.ref }}
|
||||
tag_name: ${{ steps.version.outputs.version }}
|
||||
release_name: Release ${{ steps.version.outputs.version }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
@@ -78,10 +90,10 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
for platform in windows/amd64 linux/amd64 linux/arm64 darwin/arm64; do
|
||||
asset_path="./compressed_artifacts/zurg-$platform-${{ github.ref }}.zip"
|
||||
asset_path="./compressed_artifacts/zurg-$platform-${{ steps.version.outputs.version }}.zip"
|
||||
if [[ -f "$asset_path" ]]; then
|
||||
echo "Uploading $asset_path"
|
||||
gh release upload ${{ github.ref }} "$asset_path" --c ${{ secrets.GITHUB_TOKEN }}
|
||||
gh release upload ${{ steps.version.outputs.version }} "$asset_path" --c ${{ secrets.GITHUB_TOKEN }}
|
||||
else
|
||||
echo "File not found: $asset_path"
|
||||
fi
|
||||
|
||||
27
.github/workflows/build_docker.yml
vendored
27
.github/workflows/build_docker.yml
vendored
@@ -1,22 +1,23 @@
|
||||
name: Build zurg-testing docker image
|
||||
name: Build Docker Image
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- v0*
|
||||
paths:
|
||||
- '**.go'
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build-and-push-image:
|
||||
name: Docker Build
|
||||
runs-on: self-hosted
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
|
||||
steps:
|
||||
- name: Set version
|
||||
id: version
|
||||
run: echo "::set-output name=version::$(echo ${GITHUB_REF#refs/tags/})"
|
||||
|
||||
- name: Check out the repo
|
||||
uses: actions/checkout@v4
|
||||
|
||||
@@ -54,16 +55,21 @@ jobs:
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
build-args: |
|
||||
BuiltAt=$(date +%Y-%m-%dT%H:%M:%S)
|
||||
GoVersion=$(go version)
|
||||
GitCommit=$(git rev-parse HEAD)
|
||||
Version=${{ steps.version.outputs.version }}
|
||||
|
||||
- name: Extract metadata (tags, labels) for Docker
|
||||
if: startsWith(github.ref, 'refs/tags/v0')
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
id: publicmeta
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: ghcr.io/${{ github.repository }}-testing
|
||||
|
||||
- name: Build and push Docker image
|
||||
if: startsWith(github.ref, 'refs/tags/v0')
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
context: .
|
||||
@@ -73,3 +79,8 @@ jobs:
|
||||
labels: ${{ steps.publicmeta.outputs.labels }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
build-args: |
|
||||
BuiltAt=$(date +%Y-%m-%dT%H:%M:%S)
|
||||
GoVersion=$(go version)
|
||||
GitCommit=$(git rev-parse HEAD)
|
||||
Version=${{ steps.version.outputs.version }}
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
# Accept GOOS and GOARCH as build arguments
|
||||
ARG GOOS=linux
|
||||
ARG GOARCH=amd64
|
||||
ARG BuiltAt
|
||||
ARG GoVersion
|
||||
ARG GitCommit
|
||||
ARG Version
|
||||
|
||||
# Build stage
|
||||
FROM golang:1-alpine AS builder
|
||||
WORKDIR /app
|
||||
COPY . .
|
||||
RUN apk add --no-cache bash git go gcc musl-dev curl fuse
|
||||
RUN go build -o zurg cmd/zurg/main.go
|
||||
RUN go build -ldflags="-s -w -X 'main.BuiltAt=${BuiltAt}' -X 'main.GoVersion=${GoVersion}' -X 'main.GitCommit=${GitCommit}' -X 'main.Version=${Version}'" -o zurg cmd/zurg/main.go
|
||||
|
||||
# Obfuscation stage
|
||||
FROM alpine:3 AS obfuscator
|
||||
|
||||
Reference in New Issue
Block a user