Skip to content

remove namespace usage from CSI #964

remove namespace usage from CSI

remove namespace usage from CSI #964

Workflow file for this run

name: Linux Unit tests and docker push
on:
pull_request:
push:
branches: ['master', 'dev']
release:
types: [created]
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v5
with:
go-version: ^1.21
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v4
- name: Tidy Go modules
run: |
go mod tidy
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Install QEMU
uses: docker/setup-qemu-action@v2
with:
platforms: linux/arm64,linux/amd64
- name: Enable Docker BuildKit and Buildx
run: |
export DOCKER_CLI_EXPERIMENTAL=enabled
export DOCKER_BUILDKIT=1
docker buildx create --use
- name: Test
run: |
make test
- name: Set docker image tag
id: get_info
run: |
if [[ "${{ github.event_name }}" == "release" ]]; then
echo "TAG=${{ github.event.release.tag_name }}" >> $GITHUB_ENV
echo "BRANCH=release" >> $GITHUB_ENV
echo "SHA=${{ github.event.release.target_commitish }}" >> $GITHUB_ENV
elif [[ "${{ github.ref }}" == refs/pull/* ]]; then
tag=${GITHUB_REF/\/merge/}
echo "TAG=$(echo pr-${tag:10})" >> $GITHUB_ENV
echo "BRANCH=${GITHUB_HEAD_REF}" >> $GITHUB_ENV
echo "SHA=${{ github.event.pull_request.head.sha }}" >> $GITHUB_ENV
else
echo "TAG=$(echo ${GITHUB_REF#refs/*/} | sed 's/\//-/g')" >> $GITHUB_ENV
echo "BRANCH=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
echo "SHA=$GITHUB_SHA" >> $GITHUB_ENV
fi
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID_GEOFFREY }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY_GEOFFREY }}
aws-region: us-east-1
- name: Login to ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
with:
registry-type: public
- name: Build & Push
run: |
SHORT_SHA=$(echo ${{ env.SHA }} | head -c 8)
make image
# Docker Hub Tags
docker tag simplyblock/spdkcsi:latest-amd64 simplyblock/spdkcsi:$TAG-amd64
docker tag simplyblock/spdkcsi:latest-arm64 simplyblock/spdkcsi:$TAG-arm64
# ECR Tags
docker tag simplyblock/spdkcsi:latest-amd64 public.ecr.aws/simply-block/spdkcsi:$TAG-amd64
docker tag simplyblock/spdkcsi:latest-arm64 public.ecr.aws/simply-block/spdkcsi:$TAG-arm64
# Push to Docker Hub
docker push simplyblock/spdkcsi:$TAG-amd64
docker push simplyblock/spdkcsi:$TAG-arm64
# Push to Amazon ECR
docker push public.ecr.aws/simply-block/spdkcsi:$TAG-amd64
docker push public.ecr.aws/simply-block/spdkcsi:$TAG-arm64
# Create multi-arch manifests
if [ "${{ github.event_name }}" = "release" ]; then
docker buildx imagetools create -t simplyblock/spdkcsi:$TAG simplyblock/spdkcsi:$TAG-amd64 simplyblock/spdkcsi:$TAG-arm64
docker buildx imagetools create -t public.ecr.aws/simply-block/spdkcsi:$TAG public.ecr.aws/simply-block/spdkcsi:$TAG-amd64 public.ecr.aws/simply-block/spdkcsi:$TAG-arm64
elif [ "${{ github.ref }}" = "refs/heads/master" ]; then
docker buildx imagetools create -t simplyblock/spdkcsi:latest simplyblock/spdkcsi:$TAG-amd64 simplyblock/spdkcsi:$TAG-arm64
docker buildx imagetools create -t public.ecr.aws/simply-block/spdkcsi:latest public.ecr.aws/simply-block/spdkcsi:$TAG-amd64 public.ecr.aws/simply-block/spdkcsi:$TAG-arm64
else
docker buildx imagetools create -t simplyblock/spdkcsi:$TAG simplyblock/spdkcsi:$TAG-amd64 simplyblock/spdkcsi:$TAG-arm64
docker buildx imagetools create -t public.ecr.aws/simply-block/spdkcsi:$TAG public.ecr.aws/simply-block/spdkcsi:$TAG-amd64 public.ecr.aws/simply-block/spdkcsi:$TAG-arm64
docker buildx imagetools create -t simplyblock/spdkcsi:$TAG-$SHORT_SHA simplyblock/spdkcsi:$TAG-amd64 simplyblock/spdkcsi:$TAG-arm64
docker buildx imagetools create -t public.ecr.aws/simply-block/spdkcsi:$TAG-$SHORT_SHA public.ecr.aws/simply-block/spdkcsi:$TAG-amd64 public.ecr.aws/simply-block/spdkcsi:$TAG-arm64
fi