README.md: fix typos #71
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI/CD | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
jobs: | |
check-ganesha-config-reload: | |
name: Check ganesha-config-reload | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install Go | |
uses: actions/setup-go@v2 | |
- name: Cache Go modules | |
uses: actions/cache@v1 | |
with: | |
path: ~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ hashFiles('ganesha-config-reload/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Test | |
run: | | |
go test -v ./... | |
working-directory: ./ganesha-config-reload | |
build: | |
name: Build container images | |
needs: | |
- check-ganesha-config-reload | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Fetch tags | |
run: | | |
git fetch --depth=1 origin +refs/tags/*:refs/tags/* | |
git fetch --prune --unshallow origin HEAD | |
- name: Login to container image registry | |
run: | | |
echo ${GITHUB_TOKEN} | docker login -u ${GITHUB_ACTOR} --password-stdin docker.pkg.github.com | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Pull container images from registry | |
run: | | |
source .env | |
docker pull ${RPCBIND_IMAGE}:${RPCBIND_TAG} || true | |
docker pull ${RPC_STATD_IMAGE}:${RPC_STATD_TAG} || true | |
docker pull ${DBUS_DAEMON_IMAGE}:${DBUS_DAEMON_TAG} || true | |
docker pull ${NFS_GANESHA_IMAGE}:${NFS_GANESHA_TAG} || true | |
docker pull ${GANESHA_CONFIG_RELOAD_IMAGE}:${GANESHA_CONFIG_RELOAD_TAG} || true | |
docker pull ${CONTAINED_GANESHA_TEST_IMAGE}:${CONTAINED_GANESHA_TEST_TAG} || true | |
- name: Build container images | |
run: | | |
make containers container-contained-ganesha-test | |
- name: Export container images | |
run: | | |
mkdir container-images | |
source .env | |
docker save \ | |
${LOCAL_RPCBIND_IMAGE}:${LOCAL_RPCBIND_TAG} \ | |
${LOCAL_RPC_STATD_IMAGE}:${LOCAL_RPC_STATD_TAG} \ | |
${LOCAL_DBUS_DAEMON_IMAGE}:${LOCAL_DBUS_DAEMON_TAG} \ | |
${LOCAL_NFS_GANESHA_IMAGE}:${LOCAL_NFS_GANESHA_TAG} \ | |
${LOCAL_GANESHA_CONFIG_RELOAD_IMAGE}:${LOCAL_GANESHA_CONFIG_RELOAD_TAG} \ | |
${LOCAL_CONTAINED_GANESHA_TEST_IMAGE}:${LOCAL_CONTAINED_GANESHA_TEST_TAG} \ | |
| gzip > container-images/build.tar.gz | |
- name: Archive artifacts | |
uses: actions/upload-artifact@v1 | |
with: | |
name: container-images | |
path: container-images | |
test-docker-compose: | |
name: Test docker-compose | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Retrieve artifacts | |
uses: actions/download-artifact@v1 | |
with: | |
name: container-images | |
- name: Import container images | |
run: | | |
cat container-images/build.tar.gz | gzip -d | docker load | |
- name: Test | |
run: | | |
make -C deploy/docker-compose check-nobuild | |
- name: Cleanup | |
run: | | |
make -C deploy/docker-compose down | |
test-kubernetes: | |
name: Test Kubernetes (using Kind) | |
needs: | |
- build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Retrieve artifacts | |
uses: actions/download-artifact@v1 | |
with: | |
name: container-images | |
- name: Build manifests | |
run: | | |
make -C deploy/kubernetes manifests | |
- name: Import container images | |
run: | | |
cat container-images/build.tar.gz | gzip -d | docker load | |
- name: Start Kind cluster | |
uses: helm/[email protected] | |
with: | |
cluster_name: kind | |
- name: Import Docker images into Kind cluster | |
run: | | |
make -C deploy/kubernetes kind-load-docker-images-nobuild kind-load-cgt-image-nobuild | |
- name: Deploy | |
run: | | |
make -C deploy/kubernetes kubectl-local-apply | |
- name: Test | |
run: | | |
make -C deploy/kubernetes check | |
- name: Cleanup | |
run: | | |
make -C deploy/kubernetes kubectl-local-delete | |
publish-github: | |
name: Publish container images to GitHub Packages | |
if: github.ref == 'refs/heads/master' | |
needs: | |
- build | |
- test-docker-compose | |
- test-kubernetes | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Retrieve artifacts | |
uses: actions/download-artifact@v1 | |
with: | |
name: container-images | |
- name: Import container images | |
run: | | |
cat container-images/build.tar.gz | gzip -d | docker load | |
- name: Tag container images | |
run: | | |
source .env | |
docker tag ${LOCAL_RPCBIND_IMAGE}:${LOCAL_RPCBIND_TAG} ${RPCBIND_IMAGE}:${RPCBIND_TAG} | |
docker tag ${LOCAL_RPC_STATD_IMAGE}:${LOCAL_RPC_STATD_TAG} ${RPC_STATD_IMAGE}:${RPC_STATD_TAG} | |
docker tag ${LOCAL_DBUS_DAEMON_IMAGE}:${LOCAL_DBUS_DAEMON_TAG} ${DBUS_DAEMON_IMAGE}:${DBUS_DAEMON_TAG} | |
docker tag ${LOCAL_NFS_GANESHA_IMAGE}:${LOCAL_NFS_GANESHA_TAG} ${NFS_GANESHA_IMAGE}:${NFS_GANESHA_TAG} | |
docker tag ${LOCAL_GANESHA_CONFIG_RELOAD_IMAGE}:${LOCAL_GANESHA_CONFIG_RELOAD_TAG} ${GANESHA_CONFIG_RELOAD_IMAGE}:${GANESHA_CONFIG_RELOAD_TAG} | |
docker tag ${LOCAL_CONTAINED_GANESHA_TEST_IMAGE}:${LOCAL_CONTAINED_GANESHA_TEST_TAG} ${CONTAINED_GANESHA_TEST_IMAGE}:${CONTAINED_GANESHA_TEST_TAG} | |
- name: Login to container image registry | |
run: | | |
echo ${GITHUB_TOKEN} | docker login -u ${GITHUB_ACTOR} --password-stdin docker.pkg.github.com | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Push container images | |
run: | | |
source .env | |
docker push ${RPCBIND_IMAGE}:${RPCBIND_TAG} | |
docker push ${RPC_STATD_IMAGE}:${RPC_STATD_TAG} | |
docker push ${DBUS_DAEMON_IMAGE}:${DBUS_DAEMON_TAG} | |
docker push ${NFS_GANESHA_IMAGE}:${NFS_GANESHA_TAG} | |
docker push ${GANESHA_CONFIG_RELOAD_IMAGE}:${GANESHA_CONFIG_RELOAD_TAG} | |
docker push ${CONTAINED_GANESHA_TEST_IMAGE}:${CONTAINED_GANESHA_TEST_TAG} | |
publish-dockerhub: | |
name: Publish container images to DockerHub | |
if: github.ref == 'refs/heads/master' | |
needs: | |
- build | |
- test-docker-compose | |
- test-kubernetes | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Retrieve artifacts | |
uses: actions/download-artifact@v1 | |
with: | |
name: container-images | |
- name: Import container images | |
run: | | |
cat container-images/build.tar.gz | gzip -d | docker load | |
- name: Tag container images | |
run: | | |
source .env | |
docker tag ${LOCAL_RPCBIND_IMAGE}:${LOCAL_RPCBIND_TAG} docker.io/nicolast/contained-ganesha-rpcbind:latest | |
docker tag ${LOCAL_RPC_STATD_IMAGE}:${LOCAL_RPC_STATD_TAG} docker.io/nicolast/contained-ganesha-rpc.statd:latest | |
docker tag ${LOCAL_DBUS_DAEMON_IMAGE}:${LOCAL_DBUS_DAEMON_TAG} docker.io/nicolast/contained-ganesha-dbus-daemon:latest | |
docker tag ${LOCAL_NFS_GANESHA_IMAGE}:${LOCAL_NFS_GANESHA_TAG} docker.io/nicolast/contained-ganesha-nfs-ganesha:latest | |
docker tag ${LOCAL_GANESHA_CONFIG_RELOAD_IMAGE}:${LOCAL_GANESHA_CONFIG_RELOAD_TAG} docker.io/nicolast/contained-ganesha-ganesha-config-reload:latest | |
- name: Login to container image registry | |
run: | | |
echo ${DOCKERHUB_TOKEN} | docker login -u nicolast --password-stdin | |
env: | |
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Push container images | |
run: | | |
docker push docker.io/nicolast/contained-ganesha-rpcbind:latest | |
docker push docker.io/nicolast/contained-ganesha-rpc.statd:latest | |
docker push docker.io/nicolast/contained-ganesha-dbus-daemon:latest | |
docker push docker.io/nicolast/contained-ganesha-nfs-ganesha:latest | |
docker push docker.io/nicolast/contained-ganesha-ganesha-config-reload:latest |