mirror of
https://github.com/zitadel/zitadel.git
synced 2025-02-28 20:47:22 +00:00
fix(pipeline): corrected and combined operator and zitadel release into combined workflow (#1273)
* fix(pipeline): combined operator and zitadel workflow to only release once * fix(pipeline): add dev releases for zitadelctl * fix(pipeline): delete unused name attribute * fix(pipeline): corrected use of github token env-variable * fix(pipeline): corrected download of artifacts to globally defined folder * fix(pipeline): corrected download of artifacts to globally defined folder * fix(pipeline): corrected ref to get branch name for release * fix(pipeline): last corrections and use of different github action (#1270) * fix(pipeline): corrected loop for dev release * fix(pipeline): exclude tags from starting build workflow * fix(pipeline): use different release create action for already existing release * fix(pipeline): use correct name for release * fix(pipeline): push image with branch name tag and replace slashes with underscores * fix(pipeline): corrected indenting for yaml syntax * fix(pipeline): corrected handling of branch name * fix(pipeline): list artifacts after download * fix(pipeline): use github env for artifacts folder * fix(pipeline): replace slash with underscore in all jobs * fix(pipeline): pre-calculate refs for all jobs * fix(pipeline): corrected yaml indenting * fix(pipeline): deleted missed step * fix(pipeline): deleted unexpected input for dev-release * fix(pipeline): corrected echo for version in refs job * fix(pipeline): remove empty if in job
This commit is contained in:
parent
d1e370ae12
commit
178e806c2d
165
.github/workflows/operator.yml
vendored
165
.github/workflows/operator.yml
vendored
@ -1,165 +0,0 @@
|
|||||||
name: Operator Release
|
|
||||||
on: push
|
|
||||||
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.CR_PAT }}
|
|
||||||
REGISTRY: ghcr.io
|
|
||||||
GO_VERSION: '1.15'
|
|
||||||
DOCKER_IMAGE_NAME: ${{ github.repository }}-operator
|
|
||||||
BACKUP_IMAGE_NAME: ${{ github.repository }}-crbackup
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
container:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
name: Build ${{ matrix.goos }}-${{ matrix.goarch }}
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
goos: [ 'linux', 'darwin', 'windows' ]
|
|
||||||
goarch: [ 'amd64' ]
|
|
||||||
steps:
|
|
||||||
- name: Source checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: Set output
|
|
||||||
id: branch
|
|
||||||
run: echo ::set-output name=short_ref::${GITHUB_REF#refs/*/}
|
|
||||||
- name: Semantic Release
|
|
||||||
id: semantic
|
|
||||||
uses: cycjimmy/semantic-release-action@v2
|
|
||||||
with:
|
|
||||||
dry_run: true
|
|
||||||
semantic_version: 17.0.4
|
|
||||||
- name: Set version
|
|
||||||
id: version
|
|
||||||
run: |
|
|
||||||
if ${{ steps.semantic.outputs.new_release_published == 'true' }}; then
|
|
||||||
echo ::set-output name=version::${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
else
|
|
||||||
echo ::set-output name=version::${{ steps.branch.outputs.short_ref }}
|
|
||||||
fi
|
|
||||||
- name: Check outputs
|
|
||||||
run: |
|
|
||||||
echo ${{ steps.branch.outputs.short_ref }}
|
|
||||||
echo ${{ steps.version.outputs.version }}
|
|
||||||
- name: Generate Short SHA Container Tag
|
|
||||||
id: vars
|
|
||||||
run: echo "::set-output name=sha_short::SHA-$(git rev-parse --short=12 HEAD)"
|
|
||||||
- name: Cache Docker layers
|
|
||||||
uses: actions/cache@v2
|
|
||||||
with:
|
|
||||||
path: /tmp/.buildx-cache
|
|
||||||
key: ${{ runner.os }}-buildx-op-${{ github.sha }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-buildx-op-
|
|
||||||
- name: Set up QEMU
|
|
||||||
uses: docker/setup-qemu-action@v1
|
|
||||||
- name: Set up Docker Buildx
|
|
||||||
uses: docker/setup-buildx-action@v1
|
|
||||||
- name: Login to DockerHub
|
|
||||||
uses: docker/login-action@v1
|
|
||||||
with:
|
|
||||||
username: ${{ github.actor }}
|
|
||||||
password: ${{ secrets.CR_PAT }}
|
|
||||||
registry: ${{ env.REGISTRY }}
|
|
||||||
- uses: docker/build-push-action@v2
|
|
||||||
name: onlybuild
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ./build/operator/Dockerfile
|
|
||||||
platforms: linux/amd64
|
|
||||||
tags: ${{ env.REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ steps.vars.outputs.sha_short }},${{ env.REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ steps.branch.outputs.short_ref }}
|
|
||||||
push: false
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
|
||||||
outputs: type=local,dest=/tmp/operator
|
|
||||||
build-args: |
|
|
||||||
OS=${{ matrix.goos }}
|
|
||||||
ARCH=${{ matrix.goarch }}
|
|
||||||
VERSION=${{ steps.version.outputs.version }}
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: zitadelctl-${{ matrix.goos }}-${{ matrix.goarch }}
|
|
||||||
path: /tmp/operator/zitadelctl
|
|
||||||
- uses: docker/build-push-action@v2
|
|
||||||
if: ${{ matrix.goos == 'linux' && matrix.goarch == 'amd64' }}
|
|
||||||
name: buildandpush
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ./build/operator/Dockerfile
|
|
||||||
platforms: linux/amd64
|
|
||||||
tags: ${{ env.REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ steps.vars.outputs.sha_short }},${{ env.REGISTRY }}/${{ env.DOCKER_IMAGE_NAME }}:${{ steps.branch.outputs.short_ref }}
|
|
||||||
push: true
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
|
||||||
build-args: |
|
|
||||||
OS=${{ matrix.goos }}
|
|
||||||
ARCH=${{ matrix.goarch }}
|
|
||||||
VERSION=${{ steps.version.outputs.version }}
|
|
||||||
- uses: docker/build-push-action@v2
|
|
||||||
if: ${{ matrix.goos == 'linux' && matrix.goarch == 'amd64' }}
|
|
||||||
name: buildandpushcrbackup
|
|
||||||
with:
|
|
||||||
context: .
|
|
||||||
file: ./build/cr-backup/Dockerfile
|
|
||||||
platforms: linux/amd64
|
|
||||||
tags: ${{ env.REGISTRY }}/${{ env.BACKUP_IMAGE_NAME }}:${{ steps.vars.outputs.sha_short }},${{ env.REGISTRY }}/${{ env.BACKUP_IMAGE_NAME }}:${{ steps.branch.outputs.short_ref }}
|
|
||||||
push: true
|
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
|
||||||
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
|
||||||
|
|
||||||
release:
|
|
||||||
runs-on: ubuntu-18.04
|
|
||||||
needs: [ container ]
|
|
||||||
env:
|
|
||||||
DOCKER_USERNAME: ${{ github.actor }}
|
|
||||||
DOCKER_PASSWORD: ${{ secrets.CR_PAT }}
|
|
||||||
steps:
|
|
||||||
- name: Source checkout
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
- name: Generate Short SHA Container Tag
|
|
||||||
id: vars
|
|
||||||
run: echo "::set-output name=sha_short::SHA-$(git rev-parse --short=12 HEAD)"
|
|
||||||
- name: Check output
|
|
||||||
run: echo ${{ steps.vars.outputs.sha_short }}
|
|
||||||
- name: Docker Login
|
|
||||||
run: docker login $REGISTRY -u $GITHUB_ACTOR -p $GITHUB_TOKEN
|
|
||||||
- name: Docker Pull short-sha
|
|
||||||
run: docker pull $REGISTRY/$DOCKER_IMAGE_NAME:${{ steps.vars.outputs.sha_short }}
|
|
||||||
- name: Docker Pull short-sha
|
|
||||||
run: docker pull $REGISTRY/$BACKUP_IMAGE_NAME:${{ steps.vars.outputs.sha_short }}
|
|
||||||
- name: Download binaries
|
|
||||||
uses: actions/download-artifact@v2
|
|
||||||
with:
|
|
||||||
path: .artifacts
|
|
||||||
- name: Semantic Release
|
|
||||||
id: semantic
|
|
||||||
uses: cycjimmy/semantic-release-action@v2
|
|
||||||
with:
|
|
||||||
dry_run: false
|
|
||||||
semantic_version: 17.0.4
|
|
||||||
- name: Do something when a new release published
|
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
|
||||||
run: |
|
|
||||||
echo ${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
echo ${{ steps.semantic.outputs.new_release_major_version }}
|
|
||||||
echo ${{ steps.semantic.outputs.new_release_minor_version }}
|
|
||||||
echo ${{ steps.semantic.outputs.new_release_patch_version }}
|
|
||||||
- name: Docker Tag Version
|
|
||||||
run: |
|
|
||||||
docker tag $REGISTRY/$DOCKER_IMAGE_NAME:${{ steps.vars.outputs.sha_short }} $REGISTRY/$DOCKER_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
docker tag $REGISTRY/$BACKUP_IMAGE_NAME:${{ steps.vars.outputs.sha_short }} $REGISTRY/$BACKUP_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
|
||||||
- name: Docker Tag Latest
|
|
||||||
run: |
|
|
||||||
docker tag $REGISTRY/$DOCKER_IMAGE_NAME:${{ steps.vars.outputs.sha_short }} $REGISTRY/$DOCKER_IMAGE_NAME:latest
|
|
||||||
docker tag $REGISTRY/$BACKUP_IMAGE_NAME:${{ steps.vars.outputs.sha_short }} $REGISTRY/$BACKUP_IMAGE_NAME:latest
|
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
|
||||||
- name: Docker Push Version
|
|
||||||
run: |
|
|
||||||
docker push $REGISTRY/$DOCKER_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
docker push $REGISTRY/$BACKUP_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
|
||||||
- name: Docker Push Latest
|
|
||||||
run: |
|
|
||||||
docker push $REGISTRY/$DOCKER_IMAGE_NAME:latest
|
|
||||||
docker push $REGISTRY/$BACKUP_IMAGE_NAME:latest
|
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
|
338
.github/workflows/zitadel.yml
vendored
338
.github/workflows/zitadel.yml
vendored
@ -1,91 +1,283 @@
|
|||||||
name: Zitadel Release
|
name: Zitadel Release
|
||||||
on: push
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
tags-ignore:
|
||||||
|
- '**'
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.CR_PAT }}
|
GITHUB_TOKEN: ${{ secrets.CR_PAT }}
|
||||||
REGISTRY: ghcr.io
|
REGISTRY: ghcr.io
|
||||||
NODE_VERSION: '12'
|
NODE_VERSION: '12'
|
||||||
GO_VERSION: '1.15'
|
GO_VERSION: '1.15'
|
||||||
|
OPERATOR_IMAGE_NAME: ${{ github.repository }}-operator
|
||||||
|
CRDB_IMAGE_NAME: ${{ github.repository }}-crbackup
|
||||||
|
ARTIFACTS_FOLDER: './artifacts'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
container:
|
refs:
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
outputs:
|
||||||
|
sha_short: ${{ steps.refs.outputs.sha_short }}
|
||||||
|
short_ref: ${{ steps.refs.outputs.short_ref }}
|
||||||
|
version: ${{ steps.refs.outputs.version }}
|
||||||
|
steps:
|
||||||
|
- name: Source checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Semantic Release
|
||||||
|
id: semantic
|
||||||
|
uses: cycjimmy/semantic-release-action@v2
|
||||||
|
with:
|
||||||
|
dry_run: true
|
||||||
|
semantic_version: 17.0.4
|
||||||
|
- name: Set outputs
|
||||||
|
id: refs
|
||||||
|
run: |
|
||||||
|
export BRANCH=${GITHUB_REF#refs/*/}
|
||||||
|
echo "branch: ${BRANCH}"
|
||||||
|
|
||||||
|
export BRANCHTRANSLATED=$(echo ${BRANCH} | tr '/' '_')
|
||||||
|
echo "short_ref: ${BRANCHTRANSLATED}"
|
||||||
|
|
||||||
|
export VERSION=""
|
||||||
|
if ${{ steps.semantic.outputs.new_release_published == 'true' }}; then
|
||||||
|
export VERSION=${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
else
|
||||||
|
export VERSION=${BRANCHTRANSLATED}
|
||||||
|
fi
|
||||||
|
echo "New semantic release: ${{ steps.semantic.outputs.new_release_published }}"
|
||||||
|
echo "version: ${VERSION}"
|
||||||
|
|
||||||
|
echo "::set-output name=short_ref::${BRANCHTRANSLATED}"
|
||||||
|
echo "::set-output name=sha_short::SHA-$(git rev-parse --short=12 HEAD)"
|
||||||
|
echo "::set-output name=version::${VERSION}"
|
||||||
|
|
||||||
|
zitadel-image:
|
||||||
|
needs: refs
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
steps:
|
steps:
|
||||||
- name: Source checkout
|
- name: Source checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Set output
|
- name: Cache Docker layers
|
||||||
id: branch
|
uses: actions/cache@v2
|
||||||
run: echo ::set-output name=short_ref::${GITHUB_REF#refs/*/}
|
with:
|
||||||
- name: Check output
|
path: /tmp/.buildx-cache
|
||||||
run: echo ${{ steps.branch.outputs.short_ref }}
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||||
- name: Generate Short SHA Container Tag
|
restore-keys: |
|
||||||
id: vars
|
${{ runner.os }}-buildx-
|
||||||
run: echo "::set-output name=sha_short::SHA-$(git rev-parse --short=12 HEAD)"
|
- name: Set up QEMU
|
||||||
- name: Cache Docker layers
|
uses: docker/setup-qemu-action@v1
|
||||||
uses: actions/cache@v2
|
- name: Set up Docker Buildx
|
||||||
with:
|
uses: docker/setup-buildx-action@v1
|
||||||
path: /tmp/.buildx-cache
|
- name: Login to DockerHub
|
||||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
uses: docker/login-action@v1
|
||||||
restore-keys: |
|
with:
|
||||||
${{ runner.os }}-buildx-
|
username: ${{ github.actor }}
|
||||||
- name: Set up QEMU
|
password: ${{ secrets.CR_PAT }}
|
||||||
uses: docker/setup-qemu-action@v1
|
registry: ${{ env.REGISTRY }}
|
||||||
- name: Set up Docker Buildx
|
- uses: docker/build-push-action@v2
|
||||||
uses: docker/setup-buildx-action@v1
|
with:
|
||||||
- name: Login to DockerHub
|
context: .
|
||||||
uses: docker/login-action@v1
|
file: ./build/dockerfile
|
||||||
with:
|
platforms: linux/amd64
|
||||||
username: ${{ github.actor }}
|
tags: ${{ env.REGISTRY }}/${{ github.repository }}:${{ needs.refs.outputs.sha_short }},${{ env.REGISTRY }}/${{ github.repository }}:${{ needs.refs.outputs.short_ref }}
|
||||||
password: ${{ secrets.CR_PAT }}
|
push: true
|
||||||
registry: ${{ env.REGISTRY }}
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
- uses: docker/build-push-action@v2
|
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
||||||
with:
|
|
||||||
context: .
|
operator-image:
|
||||||
file: ./build/dockerfile
|
needs: refs
|
||||||
platforms: linux/amd64
|
runs-on: ubuntu-18.04
|
||||||
tags: ${{ env.REGISTRY }}/${{ github.repository }}:${{ steps.vars.outputs.sha_short }},${{ env.REGISTRY }}/${{ github.repository }}:${{ steps.branch.outputs.short_ref }}
|
name: Build ${{ matrix.goos }}-${{ matrix.goarch }}
|
||||||
push: true
|
strategy:
|
||||||
cache-from: type=local,src=/tmp/.buildx-cache
|
matrix:
|
||||||
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
goos: [ 'linux', 'darwin', 'windows' ]
|
||||||
|
goarch: [ 'amd64' ]
|
||||||
|
steps:
|
||||||
|
- name: Source checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Cache Docker layers
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: /tmp/.buildx-cache
|
||||||
|
key: ${{ runner.os }}-buildx-op-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-buildx-op-
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.CR_PAT }}
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
- uses: docker/build-push-action@v2
|
||||||
|
name: onlybuild
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./build/operator/Dockerfile
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: ${{ env.REGISTRY }}/${{ env.OPERATOR_IMAGE_NAME }}:${{ needs.refs.outputs.sha_short }},${{ env.REGISTRY }}/${{ env.OPERATOR_IMAGE_NAME }}:${{ needs.refs.outputs.short_ref }}
|
||||||
|
push: false
|
||||||
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
|
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
||||||
|
outputs: type=local,dest=/tmp/operator
|
||||||
|
build-args: |
|
||||||
|
OS=${{ matrix.goos }}
|
||||||
|
ARCH=${{ matrix.goarch }}
|
||||||
|
VERSION=${{ steps.version.outputs.version }}
|
||||||
|
- shell: bash
|
||||||
|
run: |
|
||||||
|
mv /tmp/operator/zitadelctl /tmp/operator/zitadelctl-${{ matrix.goos }}-${{ matrix.goarch }}
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: zitadelctl-${{ matrix.goos }}-${{ matrix.goarch }}
|
||||||
|
path: /tmp/operator/zitadelctl-${{ matrix.goos }}-${{ matrix.goarch }}
|
||||||
|
- uses: docker/build-push-action@v2
|
||||||
|
if: ${{ matrix.goos == 'linux' && matrix.goarch == 'amd64' }}
|
||||||
|
name: buildandpush
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./build/operator/Dockerfile
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: ${{ env.REGISTRY }}/${{ env.OPERATOR_IMAGE_NAME }}:${{ needs.refs.outputs.sha_short }},${{ env.REGISTRY }}/${{ env.OPERATOR_IMAGE_NAME }}:${{ needs.refs.outputs.short_ref }}
|
||||||
|
push: true
|
||||||
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
|
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
||||||
|
build-args: |
|
||||||
|
OS=${{ matrix.goos }}
|
||||||
|
ARCH=${{ matrix.goarch }}
|
||||||
|
VERSION=${{ steps.version.outputs.version }}
|
||||||
|
|
||||||
|
|
||||||
|
crdb-image:
|
||||||
|
needs: refs
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
steps:
|
||||||
|
- name: Source checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Cache Docker layers
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: /tmp/.buildx-cache
|
||||||
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-buildx-
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ github.actor }}
|
||||||
|
password: ${{ secrets.CR_PAT }}
|
||||||
|
registry: ${{ env.REGISTRY }}
|
||||||
|
- uses: docker/build-push-action@v2
|
||||||
|
name: buildandpush
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: ./build/cr-backup/Dockerfile
|
||||||
|
platforms: linux/amd64
|
||||||
|
tags: ${{ env.REGISTRY }}/${{ env.CRDB_IMAGE_NAME }}:${{ needs.refs.outputs.sha_short }},${{ env.REGISTRY }}/${{ env.CRDB_IMAGE_NAME }}:${{ needs.refs.outputs.short_ref }}
|
||||||
|
push: true
|
||||||
|
cache-from: type=local,src=/tmp/.buildx-cache
|
||||||
|
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache
|
||||||
|
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-18.04
|
runs-on: ubuntu-18.04
|
||||||
needs: [container]
|
needs: [ refs, zitadel-image, operator-image, crdb-image ]
|
||||||
env:
|
env:
|
||||||
DOCKER_USERNAME: ${{ github.actor }}
|
DOCKER_USERNAME: ${{ github.actor }}
|
||||||
DOCKER_PASSWORD: ${{ secrets.CR_PAT }}
|
DOCKER_PASSWORD: ${{ secrets.CR_PAT }}
|
||||||
steps:
|
steps:
|
||||||
- name: Source checkout
|
- name: Source checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Generate Short SHA Container Tag
|
- name: Docker Login
|
||||||
id: vars
|
run: docker login $REGISTRY -u $GITHUB_ACTOR -p $GITHUB_TOKEN
|
||||||
run: echo "::set-output name=sha_short::SHA-$(git rev-parse --short=12 HEAD)"
|
- name: Docker Pull short-sha
|
||||||
- name: Docker Login
|
run: docker pull $REGISTRY/$GITHUB_REPOSITORY:${{ needs.refs.outputs.sha_short }}
|
||||||
run: docker login $REGISTRY -u $GITHUB_ACTOR -p $GITHUB_TOKEN
|
- name: Docker Pull short-sha
|
||||||
- name: Docker Pull short-sha
|
run: docker pull $REGISTRY/$OPERATOR_IMAGE_NAME:${{ needs.refs.outputs.sha_short }}
|
||||||
run: docker pull $REGISTRY/$GITHUB_REPOSITORY:${{ steps.vars.outputs.sha_short }}
|
- name: Docker Pull short-sha
|
||||||
- name: Semantic Release
|
run: docker pull $REGISTRY/$CRDB_IMAGE_NAME:${{ needs.refs.outputs.sha_short }}
|
||||||
id: semantic
|
- name: Download all zitadelctl artifact
|
||||||
uses: cycjimmy/semantic-release-action@v2
|
uses: actions/download-artifact@v2
|
||||||
with:
|
with:
|
||||||
dry_run: false
|
path: ${{ env.ARTIFACTS_FOLDER }}/
|
||||||
semantic_version: 17.0.4
|
- name: Workaround for exe
|
||||||
- name: Do something when a new release published
|
run: |
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
mv ${ARTIFACTS_FOLDER}/zitadelctl-windows-amd64/zitadelctl-windows-amd64 ${ARTIFACTS_FOLDER}/zitadelctl-windows-amd64/zitadelctl-windows-amd64.exe
|
||||||
run: |
|
find ${ARTIFACTS_FOLDER}
|
||||||
echo ${{ steps.semantic.outputs.new_release_version }}
|
|
||||||
echo ${{ steps.semantic.outputs.new_release_major_version }}
|
- name: Semantic Release
|
||||||
echo ${{ steps.semantic.outputs.new_release_minor_version }}
|
id: semantic
|
||||||
echo ${{ steps.semantic.outputs.new_release_patch_version }}
|
uses: cycjimmy/semantic-release-action@v2
|
||||||
- name: Docker Tag Version
|
with:
|
||||||
run: docker tag $REGISTRY/$GITHUB_REPOSITORY:${{ steps.vars.outputs.sha_short }} $REGISTRY/$GITHUB_REPOSITORY:${{ steps.semantic.outputs.new_release_version }}
|
dry_run: false
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
semantic_version: 17.0.4
|
||||||
- name: Docker Tag Latest
|
- name: Do something when a new release published
|
||||||
run: docker tag $REGISTRY/$GITHUB_REPOSITORY:${{ steps.vars.outputs.sha_short }} $REGISTRY/$GITHUB_REPOSITORY:latest
|
if: steps.semantic.outputs.new_release_published == 'true'
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
run: |
|
||||||
- name: Docker Push Version
|
echo ${{ steps.semantic.outputs.new_release_version }}
|
||||||
run: docker push $REGISTRY/$GITHUB_REPOSITORY:${{ steps.semantic.outputs.new_release_version }}
|
echo ${{ steps.semantic.outputs.new_release_major_version }}
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
echo ${{ steps.semantic.outputs.new_release_minor_version }}
|
||||||
- name: Docker Push Latest
|
echo ${{ steps.semantic.outputs.new_release_patch_version }}
|
||||||
run: docker push $REGISTRY/$GITHUB_REPOSITORY:latest
|
- name: Docker Tag Version
|
||||||
if: steps.semantic.outputs.new_release_published == 'true'
|
run: |
|
||||||
|
docker tag $REGISTRY/$GITHUB_REPOSITORY:${{ needs.refs.outputs.sha_short }} $REGISTRY/$GITHUB_REPOSITORY:${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
docker tag $REGISTRY/$OPERATOR_IMAGE_NAME:${{ needs.refs.outputs.sha_short }} $REGISTRY/$OPERATOR_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
docker tag $REGISTRY/$CRDB_IMAGE_NAME:${{ needs.refs.outputs.sha_short }} $REGISTRY/$CRDB_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
if: steps.semantic.outputs.new_release_published == 'true'
|
||||||
|
- name: Docker Tag Latest
|
||||||
|
run: |
|
||||||
|
docker tag $REGISTRY/$GITHUB_REPOSITORY:${{ needs.refs.outputs.sha_short }} $REGISTRY/$GITHUB_REPOSITORY:latest
|
||||||
|
docker tag $REGISTRY/$OPERATOR_IMAGE_NAME:${{ needs.refs.outputs.sha_short }} $REGISTRY/$OPERATOR_IMAGE_NAME:latest
|
||||||
|
docker tag $REGISTRY/$CRDB_IMAGE_NAME:${{ needs.refs.outputs.sha_short }} $REGISTRY/$CRDB_IMAGE_NAME:latest
|
||||||
|
if: steps.semantic.outputs.new_release_published == 'true'
|
||||||
|
- name: Docker Push Version
|
||||||
|
run: |
|
||||||
|
docker push $REGISTRY/$GITHUB_REPOSITORY:${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
docker push $REGISTRY/$OPERATOR_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
docker push $REGISTRY/$CRDB_IMAGE_NAME:${{ steps.semantic.outputs.new_release_version }}
|
||||||
|
if: steps.semantic.outputs.new_release_published == 'true'
|
||||||
|
- name: Docker Push Latest
|
||||||
|
run: |
|
||||||
|
docker push $REGISTRY/$GITHUB_REPOSITORY:latest
|
||||||
|
docker push $REGISTRY/$OPERATOR_IMAGE_NAME:latest
|
||||||
|
docker push $REGISTRY/$CRDB_IMAGE_NAME:latest
|
||||||
|
if: steps.semantic.outputs.new_release_published == 'true'
|
||||||
|
|
||||||
|
- name: Docker Tag Version
|
||||||
|
run: |
|
||||||
|
docker tag $REGISTRY/$GITHUB_REPOSITORY:${{ needs.refs.outputs.sha_short }} $REGISTRY/$GITHUB_REPOSITORY:${{ needs.refs.outputs.short_ref }}
|
||||||
|
docker tag $REGISTRY/$OPERATOR_IMAGE_NAME:${{ needs.refs.outputs.sha_short }} $REGISTRY/$OPERATOR_IMAGE_NAME:${{ needs.refs.outputs.short_ref }}
|
||||||
|
docker tag $REGISTRY/$CRDB_IMAGE_NAME:${{ needs.refs.outputs.sha_short }} $REGISTRY/$CRDB_IMAGE_NAME:${{ needs.refs.outputs.short_ref }}
|
||||||
|
if: steps.semantic.outputs.new_release_published != 'true' && needs.refs.outputs.short_ref != 'master' && needs.refs.outputs.short_ref != ''
|
||||||
|
- name: Docker Push Version
|
||||||
|
run: |
|
||||||
|
docker push $REGISTRY/$GITHUB_REPOSITORY:${{ needs.refs.outputs.short_ref }}
|
||||||
|
docker push $REGISTRY/$OPERATOR_IMAGE_NAME:${{ needs.refs.outputs.short_ref }}
|
||||||
|
docker push $REGISTRY/$CRDB_IMAGE_NAME:${{ needs.refs.outputs.short_ref }}
|
||||||
|
if: steps.semantic.outputs.new_release_published != 'true' && needs.refs.outputs.short_ref != 'master' && needs.refs.outputs.short_ref != ''
|
||||||
|
- name: Dev-Release
|
||||||
|
id: create_release
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
if: steps.semantic.outputs.new_release_published != 'true' && needs.refs.outputs.short_ref != 'master' && needs.refs.outputs.short_ref != ''
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
tag_name: ${{ needs.refs.outputs.short_ref }}-dev
|
||||||
|
name: Branch ${{ needs.refs.outputs.short_ref }}
|
||||||
|
draft: false
|
||||||
|
prerelease: true
|
||||||
|
body: |
|
||||||
|
This is a release from a development branch.
|
||||||
|
Do not use these artifacts in production.
|
||||||
|
files: |
|
||||||
|
${{ env.ARTIFACTS_FOLDER }}/zitadelctl-darwin-amd64/zitadelctl-darwin-amd64
|
||||||
|
${{ env.ARTIFACTS_FOLDER }}/zitadelctl-linux-amd64/zitadelctl-linux-amd64
|
||||||
|
${{ env.ARTIFACTS_FOLDER }}/zitadelctl-windows-amd64/zitadelctl-windows-amd64.exe
|
||||||
|
@ -6,15 +6,15 @@ module.exports = {
|
|||||||
["@semantic-release/github", {
|
["@semantic-release/github", {
|
||||||
"assets": [
|
"assets": [
|
||||||
{
|
{
|
||||||
"path": ".artifacts/zitadel-darwin-amd64/zitadelctl",
|
"path": "./artifacts/zitadel-darwin-amd64/zitadel-darwin-amd64",
|
||||||
"label": "Zitadelctl Darwin x86_64"
|
"label": "Zitadelctl Darwin x86_64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": ".artifacts/zitadel-linux-amd64/zitadelctl",
|
"path": "./artifacts/zitadel-linux-amd64/zitadel-linux-amd64",
|
||||||
"label": "Zitadelctl Linux x86_64"
|
"label": "Zitadelctl Linux x86_64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": ".artifacts/zitadel-windows-amd64/zitadelctl",
|
"path": "./artifacts/zitadel-windows-amd64/zitadel-windows-amd64.exe",
|
||||||
"label": "Zitadelctl Windows x86_64"
|
"label": "Zitadelctl Windows x86_64"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
5
go.sum
5
go.sum
@ -149,6 +149,7 @@ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghf
|
|||||||
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||||
github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
|
github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw=
|
||||||
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
|
||||||
|
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8=
|
||||||
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
|
||||||
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
|
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
|
||||||
github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
|
github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE=
|
||||||
@ -493,6 +494,7 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/
|
|||||||
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
|
||||||
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
|
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
|
||||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||||
|
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a h1:FaWFmfWdAUKbSCtOU2QjDaorUexogfaMgbipgYATUMU=
|
||||||
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU=
|
github.com/juju/ansiterm v0.0.0-20180109212912-720a0952cc2a/go.mod h1:UJSiEoRfvx3hP73CvoARgeLjaIOjybY9vj8PUPPFGeU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
||||||
@ -530,6 +532,7 @@ github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9
|
|||||||
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
|
github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM=
|
||||||
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
|
github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4=
|
||||||
github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
|
github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
|
||||||
|
github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a h1:weJVJJRzAJBFRlAiJQROKQs8oC9vOxvm4rZmBBk0ONw=
|
||||||
github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
|
github.com/lunixbochs/vtclean v0.0.0-20180621232353-2d01aacdc34a/go.mod h1:pHhQNgMf3btfWnGBVipUOjRYhoOsdGqdm/+2c2E2WMI=
|
||||||
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
|
github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ=
|
||||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||||
@ -539,6 +542,7 @@ github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN
|
|||||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||||
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||||
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
|
github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
|
||||||
|
github.com/manifoldco/promptui v0.7.0 h1:3l11YT8tm9MnwGFQ4kETwkzpAwY2Jt9lCrumCUW4+z4=
|
||||||
github.com/manifoldco/promptui v0.7.0/go.mod h1:n4zTdgP0vr0S3w7/O/g98U+e0gwLScEXGwov2nIKuGQ=
|
github.com/manifoldco/promptui v0.7.0/go.mod h1:n4zTdgP0vr0S3w7/O/g98U+e0gwLScEXGwov2nIKuGQ=
|
||||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||||
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
|
||||||
@ -712,6 +716,7 @@ github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd
|
|||||||
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||||
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
|
||||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||||
|
github.com/spf13/cobra v0.0.7 h1:FfTH+vuMXOas8jmfb5/M7dzEYx7LpcLb7a0LPe34uOU=
|
||||||
github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
github.com/spf13/cobra v0.0.7/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE=
|
||||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||||
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||||
|
Loading…
x
Reference in New Issue
Block a user