summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJT <547158+jntrnr@users.noreply.github.com>2021-11-16 14:19:35 +1300
committerGitHub <noreply@github.com>2021-11-16 14:19:35 +1300
commit09691ff866968c1772f2fea43af699b6fc4675a8 (patch)
treea0dd6f622144bcb8fe2748cea4999c16a133b9ed
parent16db368232d095755045ea90ab5805ab0cb91e32 (diff)
Delete docker-publish.yml
-rw-r--r--.github/workflows/docker-publish.yml118
1 files changed, 0 insertions, 118 deletions
diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml
deleted file mode 100644
index 67a7e5013..000000000
--- a/.github/workflows/docker-publish.yml
+++ /dev/null
@@ -1,118 +0,0 @@
-name: Publish consumable Docker images
-
-on:
- push:
- tags: ['v?[0-9]+.[0-9]+.[0-9]+*']
-
-jobs:
- compile:
- runs-on: ubuntu-latest
- strategy:
- matrix:
- arch:
- - x86_64-unknown-linux-musl
- - x86_64-unknown-linux-gnu
- steps:
- - uses: actions/checkout@v2
- - name: Install rust-embedded/cross
- env: { VERSION: v0.1.16 }
- run: >-
- wget -nv https://github.com/rust-embedded/cross/releases/download/${VERSION}/cross-${VERSION}-x86_64-unknown-linux-gnu.tar.gz
- -O- | sudo tar xz -C /usr/local/bin/
- - name: compile for specific target
- env: { arch: '${{ matrix.arch }}' }
- run: |
- cross build --target ${{ matrix.arch }} --release
- # leave only the executable file
- rm -frd target/${{ matrix.arch }}/release/{*/*,*.d,*.rlib,.fingerprint}
- find . -empty -delete
- - uses: actions/upload-artifact@master
- with:
- name: ${{ matrix.arch }}
- path: target/${{ matrix.arch }}/release
-
- docker:
- name: Build and publish docker images
- needs: compile
- runs-on: ubuntu-latest
- env:
- DOCKER_REGISTRY: quay.io/nushell
- DOCKER_PASSWORD: ${{ secrets.DOCKER_REGISTRY }}
- DOCKER_USER: ${{ secrets.DOCKER_USER }}
- strategy:
- matrix:
- tag:
- - alpine
- - slim
- - debian
- - glibc-busybox
- - musl-busybox
- - musl-distroless
- - glibc-distroless
- - glibc
- - musl
- include:
- - { tag: alpine, base-image: alpine, arch: x86_64-unknown-linux-musl, plugin: true, use-patch: false}
- - { tag: slim, base-image: 'debian:stable-slim', arch: x86_64-unknown-linux-gnu, plugin: true, use-patch: false}
- - { tag: debian, base-image: debian, arch: x86_64-unknown-linux-gnu, plugin: true, use-patch: false}
- - { tag: glibc-busybox, base-image: 'busybox:glibc', arch: x86_64-unknown-linux-gnu, plugin: false, use-patch: true }
- - { tag: musl-busybox, base-image: 'busybox:musl', arch: x86_64-unknown-linux-musl, plugin: false, use-patch: false}
- - { tag: musl-distroless, base-image: 'gcr.io/distroless/static', arch: x86_64-unknown-linux-musl, plugin: false, use-patch: false}
- - { tag: glibc-distroless, base-image: 'gcr.io/distroless/cc', arch: x86_64-unknown-linux-gnu, plugin: false, use-patch: true }
- - { tag: glibc, base-image: scratch, arch: x86_64-unknown-linux-gnu, plugin: false, use-patch: false}
- - { tag: musl, base-image: scratch, arch: x86_64-unknown-linux-musl, plugin: false, use-patch: false}
- steps:
- - uses: actions/checkout@v2
- - uses: actions/download-artifact@master
- with: { name: '${{ matrix.arch }}', path: target/release }
- - name: Build and publish exact version
- run: |-
- export DOCKER_TAG=${GITHUB_REF##*/}-${{ matrix.tag }}
- export NU_BINS=target/release/$( [ ${{ matrix.plugin }} = true ] && echo nu* || echo nu )
- export PATCH=$([ ${{ matrix.use-patch }} = true ] && echo .${{ matrix.tag }} || echo '')
- chmod +x $NU_BINS
-
- echo ${DOCKER_PASSWORD} | docker login ${DOCKER_REGISTRY} -u ${DOCKER_USER} --password-stdin
- docker-compose --file docker/docker-compose.package.yml build
- docker-compose --file docker/docker-compose.package.yml push # exact version
- env:
- BASE_IMAGE: ${{ matrix.base-image }}
-
- #region semantics tagging
- - name: Retag and push with suffixed version
- run: |-
- VERSION=${GITHUB_REF##*/}
-
- latest_version=${VERSION%%%.*}-${{ matrix.tag }}
- latest_feature=${VERSION%%.*}-${{ matrix.tag }}
- latest_patch=${VERSION%.*}-${{ matrix.tag }}
- exact_version=${VERSION}-${{ matrix.tag }}
-
- tags=( ${latest_version} ${latest_feature} ${latest_patch} ${exact_version} )
-
- for tag in ${tags[@]}; do
- docker tag ${DOCKER_REGISTRY}/nu:${VERSION}-${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:${tag}
- docker push ${DOCKER_REGISTRY}/nu:${tag}
- done
-
- # latest version
- docker tag ${DOCKER_REGISTRY}/nu:${VERSION}-${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:${{ matrix.tag }}
- docker push ${DOCKER_REGISTRY}/nu:${{ matrix.tag }}
-
- - name: Retag and push debian as latest
- if: matrix.tag == 'debian'
- run: |-
- VERSION=${GITHUB_REF##*/}
-
- # ${latest features} ${latest patch} ${exact version}
- tags=( ${VERSION%%.*} ${VERSION%.*} ${VERSION} )
-
- for tag in ${tags[@]}; do
- docker tag ${DOCKER_REGISTRY}/nu:${VERSION}-${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:${tag}
- docker push ${DOCKER_REGISTRY}/nu:${tag}
- done
-
- # latest version
- docker tag ${DOCKER_REGISTRY}/nu:${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:latest
- docker push ${DOCKER_REGISTRY}/nu:latest
- #endregion semantics tagging