From c4732cafd26024219c8433f4cedcc18668ad07a1 Mon Sep 17 00:00:00 2001 From: Serge Logvinov Date: Sat, 26 Sep 2026 14:40:48 +0200 Subject: [PATCH] feat: add compat verions --- .github/workflows/release.yaml | 14 ++++++------ .gitignore | 1 + .goreleaser.yml | 42 ++++++++++++++++++++++++++++++---- Makefile | 6 +++++ 4 files changed, 52 insertions(+), 11 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index e34918d..a231844 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -21,6 +21,8 @@ jobs: fetch-depth: 0 persist-credentials: false + - name: Setup Zig + uses: mlugg/setup-zig@d1434d08867e3ee9daa34448df10607b98908d29 # v2.2.1 - name: Rust toolchain uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772 # v1 with: @@ -32,15 +34,11 @@ jobs: - name: Install Cosign uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 # v4.1.2 - name: Set up QEMU - uses: docker/setup-qemu-action@96fe6ef7f33517b61c61be40b68a1882f3264fb8 # v4.2.0 + uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4.4.0 with: platforms: arm64 - name: Set up docker buildx - uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 - - name: Setup Node.js - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 - with: - node-version: 24 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1 - name: Github registry login uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0 @@ -50,9 +48,11 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} - name: Run GoReleaser + timeout-minutes: 60 uses: goreleaser/goreleaser-action@f06c13b6b1a9625abc9e6e439d9c05a8f2190e94 # v7.2.3 with: - version: "v2.18.1" + version: "v2.18.2" args: release --clean env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + USERNAME: ${{ github.repository_owner }} diff --git a/.gitignore b/.gitignore index 7addf75..dd5d336 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties /target +/.zig-cache/ /z_shpo /configs Makefile diff --git a/.goreleaser.yml b/.goreleaser.yml index 138950e..5c0c155 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -2,6 +2,10 @@ version: 2 project_name: aralez +before: + hooks: + - cargo install --locked cargo-zigbuild + dist: target builds: - id: aralez @@ -24,6 +28,24 @@ builds: env: - RUSTFLAGS={{ if eq .Arch "amd64" }}-C target-cpu=x86-64-v3 -C target-feature=+aes,+ssse3{{else}}-C target-cpu=neoverse-n1 -C target-feature=+aes,+sha2,+neon,+crc{{ end }} + - id: aralez-compat + builder: rust + flags: + - --release + targets: + - x86_64-unknown-linux-gnu + env: + - RUSTFLAGS=-C target-cpu=x86-64 + + - id: aralez-compat-musl + builder: rust + flags: + - --release + targets: + - x86_64-unknown-linux-musl + env: + - RUSTFLAGS=-C target-cpu=x86-64 + snapshot: version_template: edge @@ -40,6 +62,18 @@ archives: formats: [binary] name_template: "{{ .ProjectName }}_{{ .Arch }}-musl" + - id: aralez-compat + ids: + - aralez-compat + formats: [binary] + name_template: "{{ .ProjectName }}_{{ .Arch }}-compat-glibc" + + - id: aralez-compat-musl + ids: + - aralez-compat-musl + formats: [binary] + name_template: "{{ .ProjectName }}_{{ .Arch }}-compat-musl" + dockers_v2: - id: aralez ids: @@ -47,8 +81,8 @@ dockers_v2: flags: - --target=release images: - - "ghcr.io/sadoyan/{{ .ProjectName }}" - # - "sadoyan/{{ .ProjectName }}" + - "ghcr.io/{{ .Env.USERNAME }}/{{ .ProjectName }}" + # - "{{ .Env.USERNAME }}/{{ .ProjectName }}" tags: - "{{ if not .IsSnapshot }}v{{.Version}}{{ else }}edge{{ end }}" platforms: @@ -57,12 +91,12 @@ dockers_v2: annotations: org.opencontainers.image.name: "{{ .ProjectName }}" org.opencontainers.image.licenses: "Apache-2.0" - org.opencontainers.image.source: "https://github.com/sadoyan/{{ .ProjectName }}" + org.opencontainers.image.source: "https://github.com/{{ .Env.USERNAME }}/{{ .ProjectName }}" org.opencontainers.image.url: "{{ .GitURL }}" org.opencontainers.image.created: "{{ .Date }}" org.opencontainers.image.version: "{{ .Version }}" org.opencontainers.image.revision: "{{ .FullCommit }}" - io.artifacthub.package.readme-url: "https://raw.githubusercontent.com/sadoyan/{{ .ProjectName }}/main/README.md" + io.artifacthub.package.readme-url: "https://raw.githubusercontent.com/{{ .Env.USERNAME }}/{{ .ProjectName }}/main/README.md" io.artifacthub.package.license: "Apache-2.0" docker_signs: diff --git a/Makefile b/Makefile index 81679ef..e95510f 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ ######################################################## +USERNAME ?= aralez TARGET ?= --all-targets FEATURES ?= --all-features @@ -60,3 +61,8 @@ fix-all: cargo clippy --workspace $(TARGET) $(FEATURES) --fix ######################################################## + +.PHONY: docker-build +docker-build: ## Build project in Docker + docker build --target=builder -t builder . + docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v ${PWD}:/src -e USERNAME=${USERNAME} -w /src -ti builder:latest