mirror of https://github.com/fmartingr/bazaar.git
ci: docker buildx (#8)
* fix: goreleaser main path * ignore dist folder * ci: docker buildx supportpull/9/head
parent
5543a19df1
commit
99845f1ad6
11 changed files with 123 additions and 44 deletions
@ -0,0 +1,34 @@ |
||||
name: "Build Docker" |
||||
|
||||
on: |
||||
workflow_call: |
||||
workflow_dispatch: |
||||
|
||||
jobs: |
||||
buildx: |
||||
runs-on: ubuntu-latest |
||||
env: |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
name: Build Docker |
||||
steps: |
||||
- uses: actions/checkout@v2 |
||||
with: |
||||
fetch-depth: 0 |
||||
|
||||
- uses: actions/download-artifact@v3 |
||||
with: |
||||
name: dist |
||||
path: dist |
||||
|
||||
- name: Buildx |
||||
run: | |
||||
echo "${{ secrets.GITHUB_TOKEN }}" | docker login -u "${{ github.repository_owner }}" --password-stdin ghcr.io |
||||
REPOSITORY=ghcr.io/${{ github.repository }} |
||||
|
||||
TAG=latest |
||||
if [ -z "$(git tag --points-at HEAD)" ] |
||||
then |
||||
TAG="dev" |
||||
fi |
||||
|
||||
CONTAINER_BUILDX_OPTIONS="--push --output=type=registry --tag $REPOSITORY:$(git describe --tags) --tag $REPOSITORY:$TAG" make buildx |
@ -0,0 +1,20 @@ |
||||
name: goreleaser |
||||
|
||||
on: |
||||
push: |
||||
branches: [latest] |
||||
tags: ["v*"] |
||||
|
||||
permissions: |
||||
contents: write # Required to upload dist files |
||||
|
||||
concurrency: |
||||
group: ci-push-version-${{ github.ref }} |
||||
cancel-in-progress: true |
||||
|
||||
jobs: |
||||
goreleaser: |
||||
uses: ./.github/workflows/_goreleaser.yml |
||||
docker-buildx: |
||||
needs: goreleaser |
||||
uses: ./.github/workflows/_docker-buildx.yml |
@ -1,9 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
set -e |
||||
|
||||
if [ -z "$FROM_MAKEFILE" ]; then |
||||
echo "Do not call this file directly - use the make command" |
||||
exit 1 |
||||
fi |
||||
|
||||
${CONTAINER_RUNTIME} build --build-arg "GOLANG_VERSION=${CONTAINER_GOLANG_VERSION}" --build-arg="ALPINE_VERSION=${CONTAINER_ALPINE_VERSION}" -t ${CONTAINER_IMAGE_NAME}:${CONTAINER_IMAGE_TAG} -f ${CONTAINERFILE_NAME} . |
@ -0,0 +1,22 @@ |
||||
#!/usr/bin/env bash |
||||
set -e |
||||
|
||||
if [ -z "$FROM_MAKEFILE" ]; then |
||||
echo "Do not call this file directly - use the make command" |
||||
exit 1 |
||||
fi |
||||
|
||||
CONTAINER_RUNTIME=docker # Forcing docker |
||||
|
||||
if [ "$CONTAINER_RUNTIME" == "docker" ]; then |
||||
$CONTAINER_RUNTIME buildx create --use --name bazaar_builder |
||||
fi |
||||
|
||||
cp -r dist/bazaar_linux_arm_7 dist/bazaar_linux_armv7 |
||||
cp -r dist/bazaar_linux_amd64_v1 dist/bazaar_linux_amd64 |
||||
|
||||
$CONTAINER_RUNTIME buildx build -f ${CONTAINERFILE_NAME} --platform=${BUILDX_PLATFORMS} --build-arg "ALPINE_VERSION=${CONTAINER_ALPINE_VERSION}" ${CONTAINER_BUILDX_OPTIONS} . |
||||
|
||||
if [ "$CONTAINER_RUNTIME" == "docker" ]; then |
||||
$CONTAINER_RUNTIME buildx rm bazaar_builder |
||||
fi |
Loading…
Reference in new issue