diff --git a/.github/workflows/image-build-2.yaml b/.github/workflows/image-build-2.yaml new file mode 100644 index 0000000000..c76c15dc93 --- /dev/null +++ b/.github/workflows/image-build-2.yaml @@ -0,0 +1,132 @@ +name: Multiple Architecture Image Build 2 + +on: + workflow_dispatch: + push: + branches: + - "main" + - "release-*" + tags: + - "v*" + +concurrency: + group: image-build-2-${{ github.ref }} + cancel-in-progress: true + +env: + tag: ${{ github.ref == 'refs/heads/main' && 'latest' || github.ref_name }} + + # what is normally sent in as input + registry: "quay.io/sdickers" + image_name: "tackle2-ui" + containerfile: "./Dockerfile" + extra-args: "--ulimit nofile=4096:4096" + + # pre_build_cmd: | + # echo "registry=\"http://localhost:4873\"" >> .npmrc + # pre_build_cmd: | + # echo "registry=https://npm.pkg.github.com" >> .npmrc + +jobs: + build: + runs-on: ubuntu-latest + + # setup a npm mirror server so multiple npm installs can share fetches + # services: + # npm-mirror: + # image: verdaccio/verdaccio:5 + # ports: + # - 4873:4873 + + strategy: + matrix: + architecture: + - "amd64" + - "arm64" + - "ppc64le" + - "s390x" + + steps: + - name: Maximize disk space + shell: bash + run: | + echo "Space before clearing:" + df . -h + sudo rm -rf /usr/share/dotnet + sudo rm -rf /opt/ghc + sudo rm -rf "/usr/local/share/boost" + sudo rm -rf "$AGENT_TOOLSDIRECTORY" + echo "Space after clearing:" + df . -h + + - name: Checkout + uses: actions/checkout@main + + - name: Configure QEMU + uses: docker/setup-qemu-action@master + with: + platforms: all + + - name: Image meta + id: meta + uses: docker/metadata-action@v5 + with: + images: ${{ env.registry }}/${{ env.image_name }} + tags: | + type=schedule + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=ref,event=branch + type=ref,event=pr + type=sha + + - name: Run pre build command + shell: bash + run: "${{ env.pre_build_cmd }}" + if: "${{ env.pre_build_cmd != '' }}" + + - name: Build Image + id: build + uses: redhat-actions/buildah-build@main + with: + image: ${{ env.image_name }} + tags: ${{ env.tag }}-${{ matrix.architecture }} + extra-args: "--no-cache --rm ${{ env.extra-args }}" + archs: ${{ matrix.architecture }} + labels: ${{ steps.meta.outputs.labels }} + containerfiles: ${{ env.containerfile }} + + - name: Push To Quay + uses: redhat-actions/push-to-registry@main + id: push + with: + image: ${{ steps.build.outputs.image }} + tags: ${{ env.tag }}-${{ matrix.architecture }} + username: ${{ secrets.QUAY_PUBLISH_ROBOT }} + password: ${{ secrets.QUAY_PUBLISH_TOKEN }} + registry: ${{ env.registry }} + + manifest: + needs: build + runs-on: ubuntu-latest + steps: + - name: Create manifest + shell: bash + run: | + podman manifest create "${{ env.registry }}/${{ env.image_name }}:${{ env.tag }}" + for arch in $(echo '${{ env.architectures }}' | jq -r '.[]'); do + podman manifest add \ + "${{ env.registry }}/${{ env.image_name }}:${{ env.tag }}" \ + "${{ env.registry }}/${{ env.image_name }}:${{ env.tag }}-${arch}" + done + + - name: Push To Quay + uses: redhat-actions/push-to-registry@main + id: push + with: + image: ${{ env.image_name }} + tags: ${{ env.tag }} + username: ${{ secrets.QUAY_PUBLISH_ROBOT }} + password: ${{ secrets.QUAY_PUBLISH_TOKEN }} + registry: ${{ env.registry }} diff --git a/.github/workflows/image-build.yaml b/.github/workflows/image-build.yaml index 7bcbcc5fff..48d82e64bd 100644 --- a/.github/workflows/image-build.yaml +++ b/.github/workflows/image-build.yaml @@ -17,7 +17,7 @@ jobs: image-build: uses: konveyor/release-tools/.github/workflows/build-push-images.yaml@main with: - registry: "quay.io/konveyor" + registry: "quay.io/sdickers" image_name: "tackle2-ui" containerfile: "./Dockerfile" diff --git a/client/package.json b/client/package.json index b3faca8b7f..d0c4d3eb69 100644 --- a/client/package.json +++ b/client/package.json @@ -28,7 +28,7 @@ "@patternfly/patternfly": "5.2.1", "@patternfly/react-charts": "7.2.2", "@patternfly/react-code-editor": "5.2.3", - "@patternfly/react-core": "5.2.3", + "@patternfly/react-core": "5.3.4", "@patternfly/react-table": "5.2.4", "@patternfly/react-tokens": "5.2.1", "@react-keycloak/web": "^3.4.0", diff --git a/package-lock.json b/package-lock.json index 796033f47a..3232fc00aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -67,7 +67,7 @@ "@patternfly/patternfly": "5.2.1", "@patternfly/react-charts": "7.2.2", "@patternfly/react-code-editor": "5.2.3", - "@patternfly/react-core": "5.2.3", + "@patternfly/react-core": "5.3.4", "@patternfly/react-table": "5.2.4", "@patternfly/react-tokens": "5.2.1", "@react-keycloak/web": "^3.4.0", @@ -1713,13 +1713,13 @@ } }, "node_modules/@patternfly/react-core": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-5.2.3.tgz", - "integrity": "sha512-MJeOLyJFbZPV+cj4LjL15nUuhJUwFuqLFiv6f2YubRqHl/+z05oM0byhwfm/qu2VnKByY6X6lu3Hp+hMTZcbOA==", + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/@patternfly/react-core/-/react-core-5.3.4.tgz", + "integrity": "sha512-zr2yeilIoFp8MFOo0vNgI8XuM+P2466zHvy4smyRNRH2/but2WObqx7Wu4ftd/eBMYdNqmTeuXe6JeqqRqnPMQ==", "dependencies": { - "@patternfly/react-icons": "^5.2.1", - "@patternfly/react-styles": "^5.2.1", - "@patternfly/react-tokens": "^5.2.1", + "@patternfly/react-icons": "^5.3.2", + "@patternfly/react-styles": "^5.3.1", + "@patternfly/react-tokens": "^5.3.1", "focus-trap": "7.5.2", "react-dropzone": "^14.2.3", "tslib": "^2.5.0" @@ -1729,19 +1729,24 @@ "react-dom": "^17 || ^18" } }, + "node_modules/@patternfly/react-core/node_modules/@patternfly/react-tokens": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-5.3.1.tgz", + "integrity": "sha512-VYK0uVP2/2RJ7ZshJCCLeq0Boih5I1bv+9Z/Bg6h12dCkLs85XsxAX9Ve+BGIo5DF54/mzcRHE1RKYap4ISXuw==" + }, "node_modules/@patternfly/react-icons": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-5.2.1.tgz", - "integrity": "sha512-aeJ0X+U2NDe8UmI5eQiT0iuR/wmUq97UkDtx3HoZcpRb9T6eUBfysllxjRqHS8rOOspdU8OWq+CUhQ/E2ZDibg==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/@patternfly/react-icons/-/react-icons-5.3.2.tgz", + "integrity": "sha512-GEygYbl0H4zD8nZuTQy2dayKIrV2bMMeWKSOEZ16Y3EYNgYVUOUnN+J0naAEuEGH39Xb1DE9n+XUbE1PC4CxPA==", "peerDependencies": { "react": "^17 || ^18", "react-dom": "^17 || ^18" } }, "node_modules/@patternfly/react-styles": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.2.1.tgz", - "integrity": "sha512-GT96hzI1QenBhq6Pfc51kxnj9aVLjL1zSLukKZXcYVe0HPOy0BFm90bT1Fo4e/z7V9cDYw4SqSX1XLc3O4jsTw==" + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.3.1.tgz", + "integrity": "sha512-H6uBoFH3bJjD6PP75qZ4k+2TtF59vxf9sIVerPpwrGJcRgBZbvbMZCniSC3+S2LQ8DgXLnDvieq78jJzHz0hiA==" }, "node_modules/@patternfly/react-table": { "version": "5.2.4",