From cf7dfe6555a5785001272306bb1f521722d50250 Mon Sep 17 00:00:00 2001 From: Ian Tewksbury Date: Tue, 15 Sep 2020 09:01:09 -0400 Subject: [PATCH] refactor how images get built * reduce down to one github workflow publish.yaml * update publish workflow to have job dependencies between images that have dependencies * update publish workflow to allow for dependent images to build on just built version of parent images * switch from using version file to using git branches/tags/hashes for the tags * update readme --- .github/workflows/publish.yaml | 1029 +++++++++++++++++ .github/workflows/tssc-base-java-8-pr.yaml | 30 - .../workflows/tssc-base-java-8-publish.yaml | 39 - .github/workflows/tssc-base-pr.yaml | 35 - .github/workflows/tssc-base-publish.yaml | 39 - .../workflows/tssc-ci-agent-jenkins-pr.yaml | 29 - .../tssc-ci-agent-jenkins-publish.yaml | 39 - .github/workflows/tssc-tool-argocd-pr.yaml | 29 - .../workflows/tssc-tool-argocd-publish.yaml | 39 - .../workflows/tssc-tool-config-lint-pr.yaml | 30 - .../tssc-tool-config-lint-publish.yaml | 39 - .github/workflows/tssc-tool-maven-pr.yaml | 34 - .../workflows/tssc-tool-maven-publish.yaml | 39 - .github/workflows/tssc-tool-skopeo-pr.yaml | 29 - .../workflows/tssc-tool-skopeo-publish.yaml | 39 - .github/workflows/tssc-tool-sonar-pr.yaml | 30 - .../workflows/tssc-tool-sonar-publish.yaml | 39 - README.md | 48 +- tssc-base-java-8/version.json | 1 - tssc-base/version.json | 1 - tssc-ci-agent-jenkins/version.json | 1 - tssc-tool-argocd/version.json | 1 - tssc-tool-buildah/version.json | 2 - tssc-tool-config-lint/version.json | 1 - tssc-tool-maven/version.json | 1 - tssc-tool-openscap/version.json | 1 - tssc-tool-skopeo/version.json | 1 - tssc-tool-sonar/version.json | 1 - 28 files changed, 1055 insertions(+), 591 deletions(-) create mode 100644 .github/workflows/publish.yaml delete mode 100644 .github/workflows/tssc-base-java-8-pr.yaml delete mode 100644 .github/workflows/tssc-base-java-8-publish.yaml delete mode 100644 .github/workflows/tssc-base-pr.yaml delete mode 100644 .github/workflows/tssc-base-publish.yaml delete mode 100644 .github/workflows/tssc-ci-agent-jenkins-pr.yaml delete mode 100644 .github/workflows/tssc-ci-agent-jenkins-publish.yaml delete mode 100644 .github/workflows/tssc-tool-argocd-pr.yaml delete mode 100644 .github/workflows/tssc-tool-argocd-publish.yaml delete mode 100644 .github/workflows/tssc-tool-config-lint-pr.yaml delete mode 100644 .github/workflows/tssc-tool-config-lint-publish.yaml delete mode 100644 .github/workflows/tssc-tool-maven-pr.yaml delete mode 100644 .github/workflows/tssc-tool-maven-publish.yaml delete mode 100644 .github/workflows/tssc-tool-skopeo-pr.yaml delete mode 100644 .github/workflows/tssc-tool-skopeo-publish.yaml delete mode 100644 .github/workflows/tssc-tool-sonar-pr.yaml delete mode 100644 .github/workflows/tssc-tool-sonar-publish.yaml delete mode 100644 tssc-base-java-8/version.json delete mode 100644 tssc-base/version.json delete mode 100644 tssc-ci-agent-jenkins/version.json delete mode 100644 tssc-tool-argocd/version.json delete mode 100644 tssc-tool-buildah/version.json delete mode 100644 tssc-tool-config-lint/version.json delete mode 100644 tssc-tool-maven/version.json delete mode 100644 tssc-tool-openscap/version.json delete mode 100644 tssc-tool-skopeo/version.json delete mode 100644 tssc-tool-sonar/version.json diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..1950f72 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,1029 @@ +name: publish + +on: + schedule: + - cron: '0 10 * * *' # everyday at 10am + push: + branches: + - master + tags: + - 'v*.*.*' + pull_request: + +jobs: + cancel-previous: + runs-on: ubuntu-latest + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.5.0 + with: + access_token: ${{ github.token }} + + ############# + # tssc-base # + ############# + tssc-base: + needs: + - cancel-previous + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-base + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-base + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-base:latest + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} python3 --version" + docker run ${{ env.IMAGE_TAG_LOCAL }} python3 --version + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} pip3 --version" + docker run ${{ env.IMAGE_TAG_LOCAL }} pip3 --version + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} oc version" + docker run ${{ env.IMAGE_TAG_LOCAL }} oc version + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} git version" + docker run ${{ env.IMAGE_TAG_LOCAL }} git version + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + #################### + # tssc-base-java-8 # + #################### + tssc-base-java-8: + needs: + - tssc-base + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-base-java-8 + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-base-java-8 + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-base-java-8:latest + FROM_IMAGE_NAME: tssc-base + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} java -version" + docker run -u 1001 ${{ env.IMAGE_TAG_LOCAL }} java -version + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + ######################### + # tssc-ci-agent-jenkins # + ######################### + tssc-ci-agent-jenkins: + needs: + - tssc-base-java-8 + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-ci-agent-jenkins + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-ci-agent-jenkins + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-ci-agent-jenkins:latest + FROM_IMAGE_NAME: tssc-base-java-8 + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run --entrypoint=which ${{ env.IMAGE_TAG_LOCAL }} run-jnlp-client" + docker run --entrypoint=which ${{ env.IMAGE_TAG_LOCAL }} run-jnlp-client + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + #################### + # tssc-tool-argocd # + #################### + tssc-tool-argocd: + needs: + - tssc-base + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-tool-argocd + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-tool-argocd + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-tool-argocd:latest + FROM_IMAGE_NAME: tssc-base + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} version --client" + docker run ${{ env.IMAGE_TAG_LOCAL }} version --client + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + ######################### + # tssc-tool-config-lint # + ######################### + tssc-tool-config-lint: + needs: + - tssc-base + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-tool-config-lint + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-tool-config-lint + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-tool-config-lint:latest + FROM_IMAGE_NAME: tssc-base + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} config-lint --version" + docker run -u 1001 ${{ env.IMAGE_TAG_LOCAL }} config-lint --version + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + ################### + # tssc-tool-maven # + ################### + tssc-tool-maven: + needs: + - tssc-base-java-8 + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-tool-maven + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-tool-maven + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-tool-maven:latest + FROM_IMAGE_NAME: tssc-base-java-8 + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} java -version" + docker run -u 1001 ${{ env.IMAGE_TAG_LOCAL }} java -version + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} mvn --version" + docker run -u 1001 ${{ env.IMAGE_TAG_LOCAL }} mvn --version + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} -u 1001 touch ~/tssc/.m2/test.txt" + docker run -u 1001 ${{ env.IMAGE_TAG_LOCAL }} touch /home/tssc/.m2/test.txt + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + #################### + # tssc-tool-skopeo # + #################### + tssc-tool-skopeo: + needs: + - tssc-base + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-tool-skopeo + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-tool-skopeo + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-tool-skopeo:latest + FROM_IMAGE_NAME: tssc-base + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} --version" + docker run ${{ env.IMAGE_TAG_LOCAL }} --version + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} + + ################### + # tssc-tool-sonar # + ################### + tssc-tool-sonar: + needs: + - tssc-base + + runs-on: ubuntu-latest + + env: + IMAGE_CONTEXT: ./tssc-tool-sonar + IMAGE_FILE: Dockerfile + IMAGE_NAME: tssc-tool-sonar + IMAGE_TAG_LOCAL: localhost:5000/${{ secrets.REGISTRY_REPOSITORY }}/tssc-tool-sonar:latest + FROM_IMAGE_NAME: tssc-base + + services: + registry: + image: registry:2 + ports: + - 5000:5000 + + steps: + - name: Checkout ๐Ÿ›Ž๏ธ + uses: actions/checkout@v2 + + - name: Determine Image Version and Tags โš™๏ธ + id: prep + run: | + IMAGE_REPOSITORY=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }} + + VERSION=noop + if [ "${{ github.event_name }}" = "schedule" ]; then + VERSION=nightly + elif [[ $GITHUB_REF == refs/tags/* ]]; then + VERSION=${GITHUB_REF#refs/tags/} + elif [[ $GITHUB_REF == refs/heads/* ]]; then + VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g') + if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then + VERSION=edge + fi + elif [[ $GITHUB_REF == refs/pull/* ]]; then + VERSION=pr-${{ github.event.number }} + fi + TAGS="${IMAGE_REPOSITORY}:${VERSION}" + if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + MINOR=${VERSION%.*} + MAJOR=${MINOR%.*} + TAGS="$TAGS,${IMAGE_REPOSITORY}:${MINOR},${IMAGE_REPOSITORY}:${MAJOR},${IMAGE_REPOSITORY}:latest" + elif [ "${{ github.event_name }}" = "push" ]; then + TAGS="$TAGS,${IMAGE_REPOSITORY}:sha-${GITHUB_SHA::8}" + fi + + echo ::set-output name=version::${VERSION} + echo ::set-output name=tags::${TAGS} + echo ::set-output name=created::$(date -u +'%Y-%m-%dT%H:%M:%SZ') + + - name: Version ๐Ÿ“Œ + run: echo ${{ steps.prep.outputs.version }} + + - name: Image Tags ๐Ÿท + run: echo ${{ steps.prep.outputs.tags }} + + - name: Set up QEMU ๐Ÿงฐ + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx ๐Ÿงฐ + uses: docker/setup-buildx-action@v1 + with: + driver-opts: network=host + + - 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: Build Image ๐Ÿ›  + id: image_build + uses: docker/build-push-action@v2 + env: + IMAGE_BUILD_ARGS: FROM_IMAGE=${{ secrets.REGISTRY_URI }}/${{ secrets.REGISTRY_REPOSITORY }}/${{ env.FROM_IMAGE_NAME }}:${{ steps.prep.outputs.version }} + with: + context: ${{ env.IMAGE_CONTEXT }} + file: ${{ env.IMAGE_CONTEXT }}/${{ env.IMAGE_FILE }} + build-args: ${{ env.IMAGE_BUILD_ARGS }} + push: true + tags: ${{ env.IMAGE_TAG_LOCAL }} + labels: | + org.opencontainers.image.created=${{ steps.prep.outputs.created }} + org.opencontainers.image.source=${{ github.repositoryUrl }} + org.opencontainers.image.version=${{ steps.prep.outputs.version }} + org.opencontainers.image.revision=${{ github.sha }} + org.opencontainers.image.licenses=${{ github.event.repository.license.name }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache + + - name: Test Image ๐Ÿงช + run: | + echo "Running: docker run ${{ env.IMAGE_TAG_LOCAL }} sonar-scanner --version" + docker run -u 1001 ${{ env.IMAGE_TAG_LOCAL }} sonar-scanner --version + + - name: Login to External Registry ๐Ÿ”‘ + uses: docker/login-action@v1 + with: + registry: ${{ secrets.REGISTRY_URI }} + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Push to External Registry ๐Ÿ”บ + id: push + run: | + docker pull ${{ env.IMAGE_TAG_LOCAL }} + + TAGS=${{ steps.prep.outputs.tags }} + for TAG in ${TAGS//,/ }; do + docker tag ${{ env.IMAGE_TAG_LOCAL }} ${TAG} + docker push ${TAG} + done + + - name: Image Digest ๐Ÿ”– + run: echo ${{ steps.image_build.outputs.digest }} diff --git a/.github/workflows/tssc-base-java-8-pr.yaml b/.github/workflows/tssc-base-java-8-pr.yaml deleted file mode 100644 index 9ad75d4..0000000 --- a/.github/workflows/tssc-base-java-8-pr.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: tssc-base-java-8-pr -on: - pull_request: - paths: - - tssc-base-java-8/** -jobs: - build: - env: - context: tssc-base-java-8 - image_name: tssc-base-java-8 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} java -version" - docker run -u 1001 ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} java -version - diff --git a/.github/workflows/tssc-base-java-8-publish.yaml b/.github/workflows/tssc-base-java-8-publish.yaml deleted file mode 100644 index ba269d8..0000000 --- a/.github/workflows/tssc-base-java-8-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-base-java-8-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-base-java-8/version.json -jobs: - build: - env: - context: tssc-base-java-8 - image_name: tssc-base-java-8 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-base-pr.yaml b/.github/workflows/tssc-base-pr.yaml deleted file mode 100644 index 1057e00..0000000 --- a/.github/workflows/tssc-base-pr.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: tssc-base-pr -on: - pull_request: - paths: - - tssc-base/** -jobs: - build: - env: - context: tssc-base - image_name: tssc-base - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} python3 --version" - docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} python3 --version - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} pip3 --version" - docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} pip3 --version - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} oc version" - docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} oc version - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} git version" - docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} git version diff --git a/.github/workflows/tssc-base-publish.yaml b/.github/workflows/tssc-base-publish.yaml deleted file mode 100644 index d3fc529..0000000 --- a/.github/workflows/tssc-base-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-base-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-base/version.json -jobs: - build: - env: - context: tssc-base - image_name: tssc-base - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-ci-agent-jenkins-pr.yaml b/.github/workflows/tssc-ci-agent-jenkins-pr.yaml deleted file mode 100644 index da02593..0000000 --- a/.github/workflows/tssc-ci-agent-jenkins-pr.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: tssc-ci-agent-jenkins-pr -on: - pull_request: - paths: - - tssc-ci-agent-jenkins/** -jobs: - build: - env: - context: tssc-ci-agent-jenkins - image_name: tssc-ci-agent-jenkins - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run --entrypoint=which ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} run-jnlp-client" - docker run --entrypoint=which ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} run-jnlp-client diff --git a/.github/workflows/tssc-ci-agent-jenkins-publish.yaml b/.github/workflows/tssc-ci-agent-jenkins-publish.yaml deleted file mode 100644 index e3c0a3e..0000000 --- a/.github/workflows/tssc-ci-agent-jenkins-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-ci-agent-jenkins-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-ci-agent-jenkins/version.json -jobs: - build: - env: - context: tssc-ci-agent-jenkins - image_name: tssc-ci-agent-jenkins - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-tool-argocd-pr.yaml b/.github/workflows/tssc-tool-argocd-pr.yaml deleted file mode 100644 index be1bfe9..0000000 --- a/.github/workflows/tssc-tool-argocd-pr.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: tssc-tool-argocd-pr -on: - pull_request: - paths: - - tssc-tool-argocd/** -jobs: - build: - env: - context: tssc-tool-argocd - image_name: tssc-tool-argocd - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} version --client" - docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} version --client diff --git a/.github/workflows/tssc-tool-argocd-publish.yaml b/.github/workflows/tssc-tool-argocd-publish.yaml deleted file mode 100644 index 2ebb5d3..0000000 --- a/.github/workflows/tssc-tool-argocd-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-tool-argocd-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-tool-argocd/version.json -jobs: - build: - env: - context: tssc-tool-argocd - image_name: tssc-tool-argocd - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-tool-config-lint-pr.yaml b/.github/workflows/tssc-tool-config-lint-pr.yaml deleted file mode 100644 index 45f0b1e..0000000 --- a/.github/workflows/tssc-tool-config-lint-pr.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: tssc-tool-config-lint-pr -on: - pull_request: - paths: - - tssc-tool-config-lint/** -jobs: - build: - env: - context: tssc-tool-config-lint - image_name: tssc-tool-config-lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} config-lint --version" - docker run -u 1001 ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} config-lint --version - diff --git a/.github/workflows/tssc-tool-config-lint-publish.yaml b/.github/workflows/tssc-tool-config-lint-publish.yaml deleted file mode 100644 index 0403f79..0000000 --- a/.github/workflows/tssc-tool-config-lint-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-tool-config-lint-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-tool-config-lint/version.json -jobs: - build: - env: - context: tssc-tool-config-lint - image_name: tssc-tool-config-lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-tool-maven-pr.yaml b/.github/workflows/tssc-tool-maven-pr.yaml deleted file mode 100644 index edb0f14..0000000 --- a/.github/workflows/tssc-tool-maven-pr.yaml +++ /dev/null @@ -1,34 +0,0 @@ -name: tssc-tool-maven-pr -on: - pull_request: - paths: - - tssc-tool-maven/** -jobs: - build: - env: - context: tssc-tool-maven - image_name: tssc-tool-maven - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} java -version" - docker run -u 1001 ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} java -version - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} mvn --version" - docker run -u 1001 ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} mvn --version - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} -u 1001 touch ~/tssc/.m2/test.txt" - docker run -u 1001 ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} touch /home/tssc/.m2/test.txt - diff --git a/.github/workflows/tssc-tool-maven-publish.yaml b/.github/workflows/tssc-tool-maven-publish.yaml deleted file mode 100644 index 6a954a6..0000000 --- a/.github/workflows/tssc-tool-maven-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-tool-maven-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-tool-maven/version.json -jobs: - build: - env: - context: tssc-tool-maven - image_name: tssc-tool-maven - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-tool-skopeo-pr.yaml b/.github/workflows/tssc-tool-skopeo-pr.yaml deleted file mode 100644 index 5ca34c2..0000000 --- a/.github/workflows/tssc-tool-skopeo-pr.yaml +++ /dev/null @@ -1,29 +0,0 @@ -name: tssc-tool-skopeo-pr -on: - pull_request: - paths: - - tssc-tool-skopeo/** -jobs: - build: - env: - context: tssc-tool-skopeo - image_name: tssc-tool-skopeo - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} --version" - docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} --version diff --git a/.github/workflows/tssc-tool-skopeo-publish.yaml b/.github/workflows/tssc-tool-skopeo-publish.yaml deleted file mode 100644 index f3d54eb..0000000 --- a/.github/workflows/tssc-tool-skopeo-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-tool-skopeo-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-tool-skopeo/version.json -jobs: - build: - env: - context: tssc-tool-skopeo - image_name: tssc-tool-skopeo - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/.github/workflows/tssc-tool-sonar-pr.yaml b/.github/workflows/tssc-tool-sonar-pr.yaml deleted file mode 100644 index 02a1019..0000000 --- a/.github/workflows/tssc-tool-sonar-pr.yaml +++ /dev/null @@ -1,30 +0,0 @@ -name: tssc-tool-sonar-pr -on: - pull_request: - paths: - - tssc-tool-sonar/** -jobs: - build: - env: - context: tssc-tool-sonar - image_name: tssc-tool-sonar - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Check and verify version.json - id: check_version - run: | - echo -n ::set-output name=IMAGE_TAGS:: - echo $(jq -r '.version' ${context}/version.json) - - name: Build image - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - push: false - repository: ${{ env.image_name }} - tags: ${{ steps.check_version.outputs.IMAGE_TAGS }} - - name: Test image - run: | - echo "Running: docker run ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} sonar-scanner --version" - docker run -u 1001 ${image_name}:${{ steps.check_version.outputs.IMAGE_TAGS }} sonar-scanner --version - diff --git a/.github/workflows/tssc-tool-sonar-publish.yaml b/.github/workflows/tssc-tool-sonar-publish.yaml deleted file mode 100644 index 735e2a9..0000000 --- a/.github/workflows/tssc-tool-sonar-publish.yaml +++ /dev/null @@ -1,39 +0,0 @@ -name: tssc-tool-sonar-publish -on: - push: - branches: - - master - tags: - - '*' - paths: - - tssc-tool-sonar/version.json -jobs: - build: - env: - context: tssc-tool-sonar - image_name: tssc-tool-sonar - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Get image tags - id: image_tags - run: | - echo -n ::set-output name=IMAGE_TAGS:: - VERSION=$(jq -r '.version' ${context}/version.json) - TAGS=('latest') - if [ "${VERSION}" ] && [ "${VERSION}" != "latest" ]; then - TAGS+=("${VERSION}") - fi - if [[ "${GITHUB_REF}" =~ refs/tags/(.*) ]]; then - TAGS+=("git-${BASH_REMATCH[1]}") - fi - ( IFS=$','; echo "${TAGS[*]}" ) - - name: Build and publish image to Quay - uses: docker/build-push-action@v1 - with: - path: ${{ env.context }} - registry: ${{ secrets.REGISTRY_URI }} - repository: ${{ secrets.REGISTRY_REPOSITORY }}/${{ env.image_name }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - tags: "${{ steps.image_tags.outputs.IMAGE_TAGS }}" diff --git a/README.md b/README.md index ff237bb..392a31e 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,62 @@ # tssc-containers +![license](https://img.shields.io/github/license/rhtconsulting/tssc-containers) + Container image definitions for the TSSC project ## tssc-base -[![tssc-base-publish](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-base-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-base) +[![tssc-base](https://img.shields.io/badge/quay.io-tssc--base-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-base) Defines the base TSSC container image, from which all other TSSC images derive. ## tssc-base-java-8 -[![tssc-base-java-8](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-base-java-8-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-base-java-8) +[![tssc-base-java-8](https://img.shields.io/badge/quay.io-tssc--base--java--8-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-base) Defines a Java 8 base container image, built on top of `tssc-base`, from which many TSSC tool images derive. ## tssc-ci-agent-jenkins -[![tssc-ci-agent-jenkins-publish](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-ci-agent-jenkins-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-ci-agent-jenkins) +[![tssc-ci-agent-jenkins](https://img.shields.io/badge/quay.io-tssc--ci--agent--jenkins-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-ci-agent-jenkins) Defines a jenkins agent as a sidecar for the `tssc-tool-*` containers. Built from `tssc-base-java-8`. +## tssc-tool-argocd +[![tssc-tool-argocd](https://img.shields.io/badge/quay.io-tssc--tool--argocd-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-argocd) + +Defines an ArgoCD container image. Built from `tssc-base`. + ## tssc-tool-buildah -[tssc-tool-buildah | Manual Build](https://quay.io/repository/tssc/tssc-tool-buildah) +[![tssc-tool-buildah](https://img.shields.io/badge/quay.io-tssc--tool--buildah-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-buildah) > **_NOTE:_** This image is not automatically built by GitHub actions because it requires to be built on a subscribed RHEL 8 machine. Defines a buildah container image. Built from `tssc-base`. +## tssc-tool-config-lint +[![tssc-tool-config-lint](https://img.shields.io/badge/quay.io-tssc--tool--config--lint-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-config-lint) + +Defines a [config-lint](https://github.com/stelligent/config-lint) container image. Built from `tssc-base`. + ## tssc-tool-maven -[![tssc-tool-maven-publish](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-tool-maven-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-tool-maven) +[![tssc-tool-maven](https://img.shields.io/badge/quay.io-tssc--tool--maven-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-maven) Defines a maven container image. Built from `tssc-base-java-8`. -## tssc-tool-skopeo -[![tssc-tool-skopeo-publish](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-tool-skopeo-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-tool-skopeo) +## tssc-tool-openscap +[![tssc-tool-openscap](https://img.shields.io/badge/quay.io-tssc--tool--openscap-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-openscap) -Defines a skopeo container image. Built from `tssc-base`. +> **_NOTE:_** This image is not automatically built by GitHub actions because it requires to be built on a subscribed RHEL 8 machine. -## tssc-tool-argocd -[![tssc-tool-argocd-publish](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-tool-argocd-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-tool-argocd) +Defines an OpenSCAP based image scanning container image. Built from tssc-base. -Defines an ArgoCD container image. Built from `tssc-base`. +## tssc-tool-skopeo +[![tssc-tool-skopeo](https://img.shields.io/badge/quay.io-tssc--tool--skopeo-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-skopeo) + +Defines a skopeo container image. Built from `tssc-base`. ## tssc-tool-sonar -[![tssc-tool-sonar-publish](https://github.com/rhtconsulting/tssc-containers/workflows/tssc-tool-sonar-publish/badge.svg?branch=master)](https://quay.io/repository/tssc/tssc-tool-sonar) +[![tssc-tool-sonar](https://img.shields.io/badge/quay.io-tssc--tool--sonar-lightgrey?logo=open-containers-initiative)](https://quay.io/repository/tssc/tssc-tool-sonar) Defines a sonar-scanner container image. Built from `tssc-base`. - -## tssc-openscap - -[tssc-tool-openscap | Manual Build](https://quay.io/repository/tssc/tssc-tool-openscap) - -> **_NOTE:_** This image is not automatically built by GitHub actions because it requires to be built on a subscribed RHEL 8 machine. - -Defines an OpenSCAP based image scanning container image. Built from tssc-base. - - # Building locally for testing The following commands can be used for building these images locally diff --git a/tssc-base-java-8/version.json b/tssc-base-java-8/version.json deleted file mode 100644 index b9999e5..0000000 --- a/tssc-base-java-8/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.1"} diff --git a/tssc-base/version.json b/tssc-base/version.json deleted file mode 100644 index 19d4b7e..0000000 --- a/tssc-base/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.2"} diff --git a/tssc-ci-agent-jenkins/version.json b/tssc-ci-agent-jenkins/version.json deleted file mode 100644 index c37bb46..0000000 --- a/tssc-ci-agent-jenkins/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.4"} diff --git a/tssc-tool-argocd/version.json b/tssc-tool-argocd/version.json deleted file mode 100644 index 19d4b7e..0000000 --- a/tssc-tool-argocd/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.2"} diff --git a/tssc-tool-buildah/version.json b/tssc-tool-buildah/version.json deleted file mode 100644 index cb99833..0000000 --- a/tssc-tool-buildah/version.json +++ /dev/null @@ -1,2 +0,0 @@ -{"version":"v0.2"} - diff --git a/tssc-tool-config-lint/version.json b/tssc-tool-config-lint/version.json deleted file mode 100644 index 19d4b7e..0000000 --- a/tssc-tool-config-lint/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.2"} diff --git a/tssc-tool-maven/version.json b/tssc-tool-maven/version.json deleted file mode 100644 index ae9c291..0000000 --- a/tssc-tool-maven/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.3"} diff --git a/tssc-tool-openscap/version.json b/tssc-tool-openscap/version.json deleted file mode 100644 index 19d4b7e..0000000 --- a/tssc-tool-openscap/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.2"} diff --git a/tssc-tool-skopeo/version.json b/tssc-tool-skopeo/version.json deleted file mode 100644 index 19d4b7e..0000000 --- a/tssc-tool-skopeo/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.2"} diff --git a/tssc-tool-sonar/version.json b/tssc-tool-sonar/version.json deleted file mode 100644 index 19d4b7e..0000000 --- a/tssc-tool-sonar/version.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"v0.2"}