diff --git a/.github/workflows/workshop-manager-publish.yaml b/.github/workflows/workshop-manager-publish.yaml index ebf6c28f1..8897016ad 100644 --- a/.github/workflows/workshop-manager-publish.yaml +++ b/.github/workflows/workshop-manager-publish.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout source - uses: actions/checkout@v2 + uses: actions/checkout@master - name: Get image tags id: image_tags @@ -24,40 +24,32 @@ jobs: RELEASE=${GITHUB_REF#refs/tags/workshop-manager-} # To determine VERSION, strip off any release number suffix VERSION=${RELEASE/-*/} - echo "::set-output name=RELEASE::${RELEASE}" - echo "::set-output name=VERSION::${VERSION}" # Only build image if version tag without release number # Releases indicate a change in the repository that should not trigger a new build. if [[ "${VERSION}" == "${RELEASE}" ]]; then # Publish to latest, minor, and patch tags # Ex: latest,v0.1.2,v0.1 - IMAGE_TAGS=( - '${{ secrets.REGISTRY_URI }}/${{ secrets.GPTE_REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }}:latest' - "${{ secrets.REGISTRY_URI }}/${{ secrets.GPTE_REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }}:${VERSION%.*}" - "${{ secrets.REGISTRY_URI }}/${{ secrets.GPTE_REGISTRY_REPOSITORY }}/${{ env.IMAGE_NAME }}:${VERSION}" - ) - # Set IMAGE_TAGS output for use in next step - ( IFS=$','; echo "::set-output name=IMAGE_TAGS::${IMAGE_TAGS[*]}" ) + echo "IMAGE_TAGS=latest ${VERSION%.*} ${VERSION}" >> $GITHUB_OUTPUT fi - - name: Set up buildx - uses: docker/setup-buildx-action@v1 - if: steps.image_tags.outputs.IMAGE_TAGS - - - name: Login to image registry - uses: docker/login-action@v1 + - name: Buildah Action + id: buildah-build if: steps.image_tags.outputs.IMAGE_TAGS + uses: redhat-actions/buildah-build@v2 with: - registry: ${{ secrets.REGISTRY_URI }} - username: ${{ secrets.GPTE_REGISTRY_USERNAME }} - password: ${{ secrets.GPTE_REGISTRY_PASSWORD }} + image: ${{ env.IMAGE_NAME }} + tags: ${{ steps.image_tags.outputs.IMAGE_TAGS }} + context: workshop-manager + containerfiles: workshop-manager/Containerfile - - name: Build and publish image - uses: docker/build-push-action@v2 + - name: Push image to registry + id: push-to-registry if: steps.image_tags.outputs.IMAGE_TAGS + uses: redhat-actions/push-to-registry@v2 with: - context: workshop-manager - file: workshop-manager/Dockerfile - push: true - tags: ${{ steps.image_tags.outputs.IMAGE_TAGS }} + image: ${{ steps.buildah-build.outputs.image }} + tags: ${{ steps.buildah-build.outputs.tags }} + registry: ${{ vars.BABYLON_IMAGE_REGISTRY }}/${{ vars.BABYLON_IMAGE_REPOSITORY }} + username: ${{ secrets.BABYLON_IMAGE_REGISTRY_USERNAME }} + password: ${{ secrets.BABYLON_IMAGE_REGISTRY_PASSWORD }} diff --git a/helm/values.yaml b/helm/values.yaml index 336f19e5e..4e5891406 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -206,9 +206,9 @@ workshopManager: version: v1 deploy: true image: - repository: quay.io/redhat-gpte/babylon-workshop-manager + repository: quay.io/rhpds/babylon-workshop-manager pullPolicy: IfNotPresent - tag: v0.7.0 + tag: v0.7.1 namespace: create: true name: babylon-workshop-manager diff --git a/workshop-manager/Dockerfile b/workshop-manager/Containerfile similarity index 100% rename from workshop-manager/Dockerfile rename to workshop-manager/Containerfile diff --git a/workshop-manager/build-template.yaml b/workshop-manager/build-template.yaml index d3a0d158b..c94218e7a 100644 --- a/workshop-manager/build-template.yaml +++ b/workshop-manager/build-template.yaml @@ -13,8 +13,6 @@ parameters: value: https://github.com/redhat-cop/babylon.git - name: GIT_REF value: main -- name: KOPF_S2I_IMAGE - value: quay.io/redhat-cop/python-kopf-s2i:v1.37 objects: - apiVersion: image.openshift.io/v1 @@ -44,8 +42,7 @@ objects: ref: ${GIT_REF} strategy: type: Source - sourceStrategy: - from: - kind: DockerImage - name: ${KOPF_S2I_IMAGE} + dockerStrategy: + dockerfilePath: Containerfile + forcePull: true triggers: [] diff --git a/workshop-manager/operator/operator.py b/workshop-manager/operator/operator.py index e71c861ea..c5f69b141 100755 --- a/workshop-manager/operator/operator.py +++ b/workshop-manager/operator/operator.py @@ -102,8 +102,6 @@ async def workshop_daemon(logger, stopped, **kwargs): workshop = Workshop.load(**kwargs) try: while not stopped: - if workshop.ignore: - return if workshop.lifespan_end and workshop.lifespan_end < datetime.now(timezone.utc): logger.info(f"Deleting {workshop} for lifespan end") await workshop.delete() @@ -155,8 +153,6 @@ async def workshop_provision_daemon(logger, stopped, **kwargs): workshop_provision = WorkshopProvision.load(**kwargs) try: while not stopped: - if workshop_provision.ignore: - return if workshop_provision.lifespan_end \ and workshop_provision.lifespan_end < datetime.now(timezone.utc): logger.info(f"deleting {workshop_provision} for lifespan end")