diff --git a/.github/bin/docker-release.sh b/.github/bin/docker-release.sh new file mode 100755 index 0000000..3ae3766 --- /dev/null +++ b/.github/bin/docker-release.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin + +export DOCKER_ORG="democraticcsi" +export DOCKER_PROJECT="democratic-csi" +export DOCKER_REPO="${DOCKER_ORG}/${DOCKER_PROJECT}" + +export GIT_BRANCH=${GITHUB_REF#refs/heads/} +export GIT_TAG=${GITHUB_TAG} + +if [[ -n "${GIT_TAG}" ]]; then + docker buildx build --progress plain --pull --push --platform "${DOCKER_BUILD_PLATFORM}" -t ${DOCKER_REPO}:${GIT_TAG} . +elif [[ -n "${GIT_BRANCH}" ]]; then + if [[ "${GIT_BRANCH}" == "master" ]]; then + docker buildx build --progress plain --pull --push --platform "${DOCKER_BUILD_PLATFORM}" -t ${DOCKER_REPO}:latest . + else + docker buildx build --progress plain --pull --push --platform "${DOCKER_BUILD_PLATFORM}" -t ${DOCKER_REPO}:${GIT_BRANCH} . + fi +else + : +fi diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b7d6974..9f63c5b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -3,29 +3,30 @@ name: CI on: push: tags: - - 'v*' + - "v*" branches: - - master - - next + - master + - next jobs: build: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 - - name: docker build - run: | - env - export ARCH=$([ $(uname -m) = "x86_64" ] && echo "amd64" || echo "arm64") - mkdir -p ~/.docker/cli-plugins/ - wget -qO ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.3.1/buildx-v0.3.1.linux-${ARCH} - chmod a+x ~/.docker/cli-plugins/docker-buildx - docker info - docker buildx version - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - docker buildx create --name xbuilder --use - docker buildx inspect --bootstrap - env: - DOCKER_CLI_EXPERIMENTAL: enabled + - uses: actions/checkout@v2 + - name: docker build + run: | + env + export ARCH=$([ $(uname -m) = "x86_64" ] && echo "amd64" || echo "arm64") + mkdir -p ~/.docker/cli-plugins/ + wget -qO ~/.docker/cli-plugins/docker-buildx https://github.com/docker/buildx/releases/download/v0.3.1/buildx-v0.3.1.linux-${ARCH} + chmod a+x ~/.docker/cli-plugins/docker-buildx + docker info + docker buildx version + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + docker buildx create --name xbuilder --use + docker buildx inspect --bootstrap + + .github/bin/docker-release.sh + env: + DOCKER_CLI_EXPERIMENTAL: enabled