ci: allow to force ci build

this should not build release if pipeline triggered on master and master also has a version tag. avoid building same version twice and uploading to ci and release repos.
This commit is contained in:
André Roth
2024-09-21 22:59:56 +02:00
parent 795870bca5
commit eaa363eb82
2 changed files with 19 additions and 3 deletions

View File

@@ -154,9 +154,15 @@ jobs:
with:
go-version: ${{ steps.goversion.outputs.GOVER }}
- name: "Ensure CI build"
if: github.ref == 'refs/heads/master'
run: |
echo "FORCE_CI=true" >> $GITHUB_OUTPUT
id: force_ci
- name: "Build Debian packages"
env:
GOBIN: /usr/local/bin
FORCE_CI: ${{ steps.force_ci.outputs.FORCE_CI }}
run: |
make dpkg DEBARCH=${{ matrix.arch }}
@@ -169,6 +175,7 @@ jobs:
if [ -n "$APTLY_USER" ] && [ -n "$APTLY_PASSWORD" ]; then
found=yes
fi
echo "Aptly credentials available: $found"
echo "FOUND=$found" >> $GITHUB_OUTPUT
id: aptlycreds
@@ -218,7 +225,15 @@ jobs:
with:
go-version: ${{ steps.goversion.outputs.GOVER }}
- name: "Ensure CI build"
if: github.ref == 'refs/heads/master'
run: |
echo "FORCE_CI=true" >> $GITHUB_OUTPUT
id: force_ci
- name: "Get aptly version"
env:
FORCE_CI: ${{ steps.force_ci.outputs.FORCE_CI }}
run: |
aptlyver=$(make -s version)
echo "Aptly Version: $aptlyver"
@@ -228,6 +243,7 @@ jobs:
- name: "Build aptly ${{ matrix.goos }}/${{ matrix.goarch }}"
env:
GOBIN: /usr/local/bin
FORCE_CI: ${{ steps.force_ci.outputs.FORCE_CI }}
run: |
make binaries GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }}

View File

@@ -91,7 +91,7 @@ man: ## Create man pages
version: ## Print aptly version
@ci="" ; \
if [ -z "`git tag --points-at HEAD`" ]; then \
if [ "`make -s releasetype`" = "ci" ]; then \
ci=`TZ=UTC git show -s --format='+%cd.%h' --date=format-local:'%Y%m%d%H%M%S'`; \
fi ; \
if which dpkg-parsechangelog > /dev/null 2>&1; then \
@@ -103,7 +103,7 @@ version: ## Print aptly version
releasetype: # Print release type (ci/release)
@reltype=ci ; \
gitbranch=`git rev-parse --abbrev-ref HEAD` ; \
if [ "$$gitbranch" = "HEAD" ]; then \
if [ "$$gitbranch" = "HEAD" ] && [ "$$FORCE_CI" != "true" ]; then \
gittag=`git describe --tags --exact-match` ;\
if echo "$$gittag" | grep -q '^v[0-9]'; then \
reltype=release ; \