name: 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 }}" - name: Create prerelease env: TOKEN: ${{ secrets.RELEASE }} TAG: ${{ needs.set-release-target.outputs.release_cible }} run: | curl -vvv -X POST \ -H "Authorization: token $TOKEN" \ -H "Content-Type: application/json" \ --trace - \ "https://git.g3e.fr/api/v1/repos/${{ github.repository }}/releases" \ -d @- < 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 }} publish: runs-on: docker needs: build steps: - name: Download all build artifacts uses: actions/download-artifact@v3 with: path: dist/ - name: Publier tous les binaires run: ls -l dist/