Update README.md #87
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: CREATOR workflow CI | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
permissions: | |
contents: read | |
packages: write | |
jobs: | |
creator-checker: | |
name: Execute CREATOR Checker | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20.x] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- name: Install dependencies | |
run: npm ci | |
- run: npm run build --if-present | |
- run: npm run test-creator-node | |
build-creator-cl: | |
name: Build creator_cl Docker Image | |
needs: creator-checker | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: true | |
docker-images: false | |
swap-storage: true | |
- uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GitHub Package Registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build & Push Docker image | |
run: cd ./dockers/command_line/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_cl:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_cl -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 . | |
push-creator-cl: | |
name: Push creator_cl Docker Image | |
needs: build-creator-cl | |
if: github.event_name != 'pull_request' && github.repository_owner == 'creatorsim' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to Docker Hub | |
env: | |
DH_TOKEN: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
run: docker login -u creatorsim -p ${DH_TOKEN} | |
- name: Re-tag & Push Docker Image to Docker Hub | |
run: | | |
chmod +r $HOME/.docker/config.json | |
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_cl:${GITHUB_SHA} docker.io/creatorsim/creator_cl:${GITHUB_SHA} | |
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_cl docker.io/creatorsim/creator_cl | |
build-creator-gateway: | |
name: Build creator_gateway Docker Image | |
needs: creator-checker | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: true | |
docker-images: false | |
swap-storage: true | |
- uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GitHub Package Registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build & Push Docker image | |
run: cd ./dockers/gateway/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_gateway:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_gateway -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 . | |
push-creator-gateway: | |
name: Push creator_gateway Docker Image | |
needs: build-creator-gateway | |
if: github.event_name != 'pull_request' && github.repository_owner == 'creatorsim' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to Docker Hub | |
env: | |
DH_TOKEN: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
run: docker login -u creatorsim -p ${DH_TOKEN} | |
- name: Re-tag & Push Docker Image to Docker Hub | |
run: | | |
chmod +r $HOME/.docker/config.json | |
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_gateway:${GITHUB_SHA} docker.io/creatorsim/creator_gateway:${GITHUB_SHA} | |
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_gateway docker.io/creatorsim/creator_gateway | |
build-creator-hw-lab: | |
name: Build creator_remote_lab Docker Image | |
needs: creator-checker | |
if: github.event_name != 'pull_request' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Free Disk Space (Ubuntu) | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: true | |
docker-images: false | |
swap-storage: true | |
- uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to GitHub Package Registry | |
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
- name: Build & Push Docker image | |
run: cd ./dockers/remote_lab/ && docker buildx build -t ghcr.io/${{ github.repository_owner }}/creator_remote_lab:${GITHUB_SHA} -t ghcr.io/${{ github.repository_owner }}/creator_remote_lab -f ./Dockerfile --push --platform=linux/amd64,linux/arm64,linux/arm/v7 . | |
push-creator-hw-lab: | |
name: Push creator_remote_lab Docker Image | |
needs: build-creator-hw-lab | |
if: github.event_name != 'pull_request' && github.repository_owner == 'creatorsim' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to Docker Hub | |
env: | |
DH_TOKEN: ${{ secrets.DOCKER_HUB_PASSWORD }} | |
run: docker login -u creatorsim -p ${DH_TOKEN} | |
- name: Re-tag & Push Docker Image to Docker Hub | |
run: | | |
chmod +r $HOME/.docker/config.json | |
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_remote_lab:${GITHUB_SHA} docker.io/creatorsim/creator_remote_lab:${GITHUB_SHA} | |
docker container run --rm --network host -v regctl-conf:/home/appuser/.regctl/ -v $HOME/.docker/config.json:/home/appuser/.docker/config.json regclient/regctl:v0.3.9 image copy ghcr.io/${{ github.repository_owner }}/creator_remote_lab docker.io/creatorsim/creator_remote_lab |