diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 443a91c3d..866fc2b4e 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,3 +7,8 @@ updates: allow: - dependency-name: "@patternfly/*" dependency-type: "direct" + + - package-ecosystem: docker + directory: "/" + schedule: + interval: daily diff --git a/.github/workflows/image-build-2.yaml b/.github/workflows/image-build-2.yaml new file mode 100644 index 000000000..c76c15dc9 --- /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 4db993a89..379fa13d8 100644 --- a/.github/workflows/image-build.yaml +++ b/.github/workflows/image-build.yaml @@ -17,10 +17,10 @@ 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" - architectures: '[ "amd64", "arm64", "ppc64le", "s390x" ]' + architectures: '[ "amd64", "arm64" ]' # 2023-03-19: currently needed for npm@10 extra-args: "--ulimit nofile=4096:4096" secrets: diff --git a/client/package.json b/client/package.json index de932e687..63261a074 100644 --- a/client/package.json +++ b/client/package.json @@ -26,7 +26,7 @@ "@hot-loader/react-dom": "^17.0.2", "@migtools/lib-ui": "^10.0.1", "@patternfly/patternfly": "5.2.1", - "@patternfly/react-charts": "7.2.2", + "@patternfly/react-charts": "7.3.0", "@patternfly/react-code-editor": "5.2.3", "@patternfly/react-core": "5.2.3", "@patternfly/react-table": "5.2.4", diff --git a/package-lock.json b/package-lock.json index 997e0ab6d..5c8c56569 100644 --- a/package-lock.json +++ b/package-lock.json @@ -65,7 +65,7 @@ "@hot-loader/react-dom": "^17.0.2", "@migtools/lib-ui": "^10.0.1", "@patternfly/patternfly": "5.2.1", - "@patternfly/react-charts": "7.2.2", + "@patternfly/react-charts": "7.3.0", "@patternfly/react-code-editor": "5.2.3", "@patternfly/react-core": "5.2.3", "@patternfly/react-table": "5.2.4", @@ -1653,12 +1653,12 @@ "integrity": "sha512-n5xFjyj1J4eIFZ7XeU6K44POKRAuDlO5yALPbn084y+jPy1j861AaQ+zIUbzCi4IzBlHrvoXVKij7p1zy7Ditg==" }, "node_modules/@patternfly/react-charts": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/@patternfly/react-charts/-/react-charts-7.2.2.tgz", - "integrity": "sha512-1PFuvXz3mm/o/O+BQ2/2e66ncvtV8XIYxFaimurslCLTygodOvjBDDu/D/5tNa3HLxvA+fm2Q58893POGZi+bw==", + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-charts/-/react-charts-7.3.0.tgz", + "integrity": "sha512-J6d/bFolI3zUOvJoK4lEveNeXZeJNfBq+iXgQ/mImESyW0H7MSebMcVB4d+NC6JX0QykuaOEn/7YMJMU9K73tw==", "dependencies": { - "@patternfly/react-styles": "^5.2.1", - "@patternfly/react-tokens": "^5.2.1", + "@patternfly/react-styles": "^5.3.0", + "@patternfly/react-tokens": "^5.3.0", "hoist-non-react-statics": "^3.3.0", "lodash": "^4.17.21", "tslib": "^2.5.0", @@ -1685,6 +1685,11 @@ "react-dom": "^17 || ^18" } }, + "node_modules/@patternfly/react-charts/node_modules/@patternfly/react-tokens": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-tokens/-/react-tokens-5.3.0.tgz", + "integrity": "sha512-24ZY5hgwt11InW3XtINM5p9Fo1hDiVor6Q4uphPZh8Mt89AsZZw1UweTaGg54I0Ah2Wzv6rkQy51LX7tZtIwjQ==" + }, "node_modules/@patternfly/react-code-editor": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/@patternfly/react-code-editor/-/react-code-editor-5.2.3.tgz", @@ -1729,9 +1734,9 @@ } }, "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.0", + "resolved": "https://registry.npmjs.org/@patternfly/react-styles/-/react-styles-5.3.0.tgz", + "integrity": "sha512-/EdkURW+v7Rzw/CiEqL+NfGtLvLMGIwOEyDhvlMDbRip2usGw4HLZv3Bep0cJe29zOeY27cDVZDM1HfyXLebtw==" }, "node_modules/@patternfly/react-table": { "version": "5.2.4",