mirror of
https://github.com/aptly-dev/aptly.git
synced 2026-01-11 03:11:50 +00:00
ci: move scripts to makefile
This commit is contained in:
35
.github/workflows/ci.yml
vendored
35
.github/workflows/ci.yml
vendored
@@ -43,7 +43,9 @@ jobs:
|
||||
|
||||
- name: "Read go version from go.mod"
|
||||
run: |
|
||||
echo "GOVER=$(sed -n 's/^go \(.*\)/\1/p' go.mod)" >> $GITHUB_OUTPUT
|
||||
gover=$(sed -n 's/^go \(.*\)/\1/p' go.mod)
|
||||
echo "Go Version: $gover"
|
||||
echo "GOVER=$gover" >> $GITHUB_OUTPUT
|
||||
id: goversion
|
||||
|
||||
- name: "Setup Go"
|
||||
@@ -51,10 +53,6 @@ jobs:
|
||||
with:
|
||||
go-version: ${{ steps.goversion.outputs.GOVER }}
|
||||
|
||||
- name: "Get aptly version"
|
||||
run: |
|
||||
make version
|
||||
|
||||
- name: "Setup Python"
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
@@ -144,7 +142,9 @@ jobs:
|
||||
|
||||
- name: "Read go version from go.mod"
|
||||
run: |
|
||||
echo "GOVER=$(sed -n 's/^go \(.*\)/\1/p' go.mod)" >> $GITHUB_OUTPUT
|
||||
gover=$(sed -n 's/^go \(.*\)/\1/p' go.mod)
|
||||
echo "Go Version: $gover"
|
||||
echo "GOVER=$gover" >> $GITHUB_OUTPUT
|
||||
id: goversion
|
||||
|
||||
- name: "Setup Go"
|
||||
@@ -152,31 +152,18 @@ jobs:
|
||||
with:
|
||||
go-version: ${{ steps.goversion.outputs.GOVER }}
|
||||
|
||||
- name: Check is CI or Release
|
||||
- name: Check if CI or Release
|
||||
run: |
|
||||
if [ -z "`git tag --points-at HEAD`" ]; then
|
||||
releasetype=ci
|
||||
else
|
||||
releasetype=release
|
||||
fi
|
||||
echo RELEASETYPE=$releasetype >> $GITHUB_OUTPUT
|
||||
releasetype=$(make releasetype)
|
||||
echo "Release Type: $releasetype"
|
||||
echo "RELEASETYPE=$releasetype" >> $GITHUB_OUTPUT
|
||||
id: releasetype
|
||||
|
||||
- name: "Build Debian packages"
|
||||
env:
|
||||
GOBIN: /usr/local/bin
|
||||
run: |
|
||||
GOPATH=$PWD/.go go generate -v
|
||||
if [ "${{ steps.releasetype.outputs.RELEASETYPE }}" = "ci" ]; then
|
||||
DEBEMAIL="CI <runner@github>" dch -v `make version` "CI build"
|
||||
fi
|
||||
buildtype="any"
|
||||
if [ "${{ matrix.arch }}" = "amd64" ]; then # build 'all' type package only on amd64
|
||||
buildtype="any,all"
|
||||
fi
|
||||
dpkg-buildpackage -us -uc --build=$buildtype -d --host-arch=${{ matrix.arch }}
|
||||
mkdir -p build && mv ../*.deb build/
|
||||
cd build && ls -l *.deb
|
||||
make dpkg DEBARCH=${{ matrix.arch }}
|
||||
|
||||
- name: "Publish CI release to aptly"
|
||||
if: github.ref == 'refs/heads/master'
|
||||
|
||||
27
Makefile
27
Makefile
@@ -100,11 +100,36 @@ version: ## Print aptly version
|
||||
echo `grep ^aptly -m1 debian/changelog | sed 's/.*(\([^)]\+\)).*/\1/'`$$ci ; \
|
||||
fi
|
||||
|
||||
releasetype: # Print release type (ci/release)
|
||||
@if [ -z "`git tag --points-at HEAD`" ]; then \
|
||||
echo ci ; \
|
||||
else \
|
||||
echo release ; \
|
||||
fi
|
||||
|
||||
build: ## Build aptly
|
||||
go mod tidy
|
||||
go generate
|
||||
go build -o build/aptly
|
||||
|
||||
dpkg: ## Build debian packages
|
||||
@test -n "$(DEBARCH)" || (echo "please define DEBARCH"; exit 1)
|
||||
GOPATH=$$PWD/.go go generate -v
|
||||
@if [ "`make -s releasetype`" = "ci" ]; then \
|
||||
echo CI Build, setting version... ; \
|
||||
cp debian/changelog debian/changelog.dpkg-bak ; \
|
||||
DEBEMAIL="CI <ci@aptly>" dch -v `make -s version` "CI build" ; \
|
||||
fi
|
||||
buildtype="any" ; \
|
||||
if [ "$(DEBARCH)" = "amd64" ]; then \
|
||||
buildtype="any,all" ; \
|
||||
fi ; \
|
||||
echo Building: $$buildtype ; \
|
||||
dpkg-buildpackage -us -uc --build=$$buildtype -d --host-arch=$(DEBARCH)
|
||||
@test -f debian/changelog.dpkg-bak && mv debian/changelog.dpkg-bak debian/changelog || true ; \
|
||||
mkdir -p build && mv ../*.deb build/ ; \
|
||||
cd build && ls -l *.deb
|
||||
|
||||
binaries: ## Build binary releases (FreeBSD, MacOS, Linux tar)
|
||||
@mkdir -p build/tmp/man build/tmp/completion/bash_completion.d build/tmp/completion/zsh/vendor-completions
|
||||
@make version > VERSION
|
||||
@@ -154,4 +179,4 @@ clean: ## remove local build and module cache
|
||||
test -d .go/ && chmod u+w -R .go/ && rm -rf .go/ || true
|
||||
rm -rf build/ docs/ obj-*-linux-gnu*
|
||||
|
||||
.PHONY: help man prepare version binaries docker-release docker-system-tests docker-unit-tests docker-lint docker-build docker-image build docker-aptly clean
|
||||
.PHONY: help man prepare version binaries docker-release docker-system-tests docker-unit-tests docker-lint docker-build docker-image build docker-aptly clean releasetype dpkg
|
||||
|
||||
Reference in New Issue
Block a user