From 0ebd3d8a18f2cab677fd79c9673f53f9cefc05bb Mon Sep 17 00:00:00 2001 From: GnomeZworc Date: Wed, 17 Dec 2025 23:12:58 +0100 Subject: [PATCH] add a use for build part Signed-off-by: GnomeZworc --- .forgejo/workflows/build.yml | 75 ++++++++++--------------------- .forgejo/workflows/prerelease.yml | 55 +++++++++++++++++++++++ 2 files changed, 78 insertions(+), 52 deletions(-) create mode 100644 .forgejo/workflows/prerelease.yml diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml index 1c98ec1..9cd29e6 100644 --- a/.forgejo/workflows/build.yml +++ b/.forgejo/workflows/build.yml @@ -1,49 +1,27 @@ -name: Release Workflow - on: - push: - tags: - - '*' - branches: - - main - pull_request: - types: [closed] - branches: - - main + workflow_call: + inputs: + tag: + required: true + type: string + goos: + required: true + type: string + goarch: + required: true + type: string + binari: + required: true + type: string jobs: - set-release-target: - runs-on: docker - outputs: - release_cible: ${{ steps.setvar.outputs.release_cible }} - steps: - - name: Déterminer la release cible - id: setvar - run: | - if [[ "${GITHUB_REF}" == refs/tags/* ]]; then - TAG="${GITHUB_REF#refs/tags/}" - echo "release_cible=$TAG" >> $GITHUB_OUTPUT - elif [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then - echo "release_cible=latest" >> $GITHUB_OUTPUT - else - echo "release_cible=unknown" >> $GITHUB_OUTPUT - fi - - - name: Afficher la variable - run: echo "Release cible = ${{ steps.setvar.outputs.release_cible }}" build: runs-on: docker - needs: set-release-target - strategy: - matrix: - goos: [linux] - goarch: [amd64] - binaries: [db, metadata] env: - RELEASE_CIBLE: ${{ needs.set-release-target.outputs.release_cible }} - GOOS: ${{ matrix.goos }} - GOARCH: ${{ matrix.goarch }} - BINARI: ${{ matrix.binaries }} + RELEASE_CIBLE: ${{ inputs.tag }} + GOOS: ${{ inputs.goos }} + GOARCH: ${{ inputs.goarch }} + BINARI: ${{ inputs.binari }} CGO_ENABLED: 0 steps: - uses: actions/checkout@v3 @@ -52,21 +30,14 @@ jobs: go-version: "1.21" - name: Build du projet run: | - echo "Building for $BINARI/$GOOS/$GOARCH (release: $RELEASE_CIBLE)" + echo "Building for ${BINARI}/${GOOS}/${GOARCH} (release: ${RELEASE_CIBLE})" go env GOOS GOARCH mkdir -p dist/ - go build -o dist/${{ matrix.binaries }}_${{ matrix.goos }}_${{ matrix.goarch }} ./cmd/$BINARI - echo "artifact pour $RELEASE_CIBLE $BINARI $GOOS $GOARCH" > dist/$BINARI-$GOOS-$GOARCH.txt + go build -o dist/${BINARI}_${GOOS}_${GOARCH} ./cmd/${BINARI} + echo "artifact pour ${RELEASE_CIBLE} ${BINARI} ${GOOS} ${GOARCH}" > dist/${BINARI}-${GOOS}-${GOARCH}.txt ls -l ./dist - name: Upload artifact uses: actions/upload-artifact@v3 with: - name: ${{ matrix.binaries }}-${{ env.RELEASE_CIBLE }}-${{ matrix.goos }}-${{ matrix.goarch }} - path: dist/${{ matrix.binaries }}_${{ matrix.goos }}_${{ matrix.goarch }} - prerelease: - runs-on: docker - needs: [set-release-target, build] - uses: ./.forgejo/workflows/release.yml - with: - tag: ${{ needs.set-release-target.outputs.release_cible }} - secrets: inherit \ No newline at end of file + name: ${{ env.BINARI }}-${{ env.RELEASE_CIBLE }}-${{ env.GOOS }}-${{ env.GOARCH }} + path: dist/${{ env.BINARI }}_${{ env.GOOS }}_${{ env.GOARCH }} \ No newline at end of file diff --git a/.forgejo/workflows/prerelease.yml b/.forgejo/workflows/prerelease.yml new file mode 100644 index 0000000..0ced880 --- /dev/null +++ b/.forgejo/workflows/prerelease.yml @@ -0,0 +1,55 @@ +name: Pre Release Workflow + +on: + push: + tags: + - '*' + branches: + - main + pull_request: + types: [closed] + branches: + - main + +jobs: + set-release-target: + runs-on: docker + outputs: + release_cible: ${{ steps.setvar.outputs.release_cible }} + steps: + - name: Déterminer la release cible + id: setvar + run: | + if [[ "${GITHUB_REF}" == refs/tags/* ]]; then + TAG="${GITHUB_REF#refs/tags/}" + echo "release_cible=$TAG" >> $GITHUB_OUTPUT + elif [[ "${GITHUB_REF}" == "refs/heads/main" ]]; then + echo "release_cible=latest" >> $GITHUB_OUTPUT + else + echo "release_cible=unknown" >> $GITHUB_OUTPUT + fi + + - name: Afficher la variable + run: echo "Release cible = ${{ steps.setvar.outputs.release_cible }}" + build: + runs-on: docker + needs: [set-release-target] + strategy: + matrix: + goos: [linux] + goarch: [amd64] + binaries: [db, metadata] + uses: ./.forgejo/workflows/build.yml + with: + tag: ${{ needs.set-release-target.outputs.release_cible }} + goos: ${{ matrix.goos }} + goarch: ${{ matrix.goarch }} + binari: ${{ matrix.binaries }} + secrets: inherit + prerelease: + runs-on: docker + needs: [set-release-target, build] + uses: ./.forgejo/workflows/release.yml + with: + tag: ${{ needs.set-release-target.outputs.release_cible }} + secrets: inherit \ No newline at end of file