diff --git a/.eslintrc.js b/.eslintrc.js index cea0cefa9..3ee0a6489 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -6,6 +6,7 @@ delete base.parserOptions.project; module.exports = deepmerge(base, { rules: { + "react/react-in-jsx-scope": "off", "@typescript-eslint/ban-ts-ignore": "off", "no-unused-expressions": "off", "@typescript-eslint/no-unused-expressions": "error", diff --git a/.github/actions/archive-test-results/action.yaml b/.github/actions/archive-test-results/action.yaml index e3ec9f8a0..22f396355 100644 --- a/.github/actions/archive-test-results/action.yaml +++ b/.github/actions/archive-test-results/action.yaml @@ -16,7 +16,7 @@ runs: using: composite steps: - name: Archive runtime logs - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 if: always() with: name: ${{ inputs.platform }}-runtime-logs-${{ inputs.test-type }} @@ -24,7 +24,7 @@ runs: if-no-files-found: ignore - name: Archive test screenshots - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 if: always() with: name: ${{ inputs.platform }}-screenshots-${{ inputs.test-type }} @@ -32,7 +32,7 @@ runs: if-no-files-found: ignore - name: Archive artifacts - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 if: always() with: name: ${{ inputs.platform }}-artifacts-${{ inputs.test-type }} diff --git a/.github/actions/create-native-bundle/action.yml b/.github/actions/create-native-bundle/action.yml index 91dd7f185..ec0b55bbf 100644 --- a/.github/actions/create-native-bundle/action.yml +++ b/.github/actions/create-native-bundle/action.yml @@ -19,11 +19,11 @@ runs: run: curl -L -o project.zip https://github.com/mendix/Native-Mobile-Resources/archive/refs/heads/main.zip shell: bash - name: "Extract test project" - uses: montudor/action-zip@v1.0.0 + uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28 # v1.0.0 with: args: unzip -qq project.zip - name: "Extract deployment package" - uses: montudor/action-zip@v1.0.0 + uses: montudor/action-zip@0852c26906e00f8a315c704958823928d8018b28 # v1.0.0 with: args: unzip -qq ${{ inputs.mda-file }} -d Native-Mobile-Resources-main/deployment - name: "Create bundle for ${{ inputs.platform }}" @@ -41,7 +41,7 @@ runs: env: NODE_OPTIONS: --max_old_space_size=6144 - name: "Upload bundle for ${{ inputs.platform }}" - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7 with: name: ${{ inputs.platform }}-bundle path: ${{ inputs.platform }} diff --git a/.github/actions/setup-maestro/action.yaml b/.github/actions/setup-maestro/action.yaml index ca316aee2..237100eda 100644 --- a/.github/actions/setup-maestro/action.yaml +++ b/.github/actions/setup-maestro/action.yaml @@ -4,7 +4,7 @@ runs: using: "composite" steps: - name: "Cache Maestro" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: $HOME/.local/bin/maestro key: maestro-${{ runner.os }}-v1 diff --git a/.github/actions/setup-node-with-cache/action.yaml b/.github/actions/setup-node-with-cache/action.yaml index 377bd92be..2c17904b4 100644 --- a/.github/actions/setup-node-with-cache/action.yaml +++ b/.github/actions/setup-node-with-cache/action.yaml @@ -4,19 +4,20 @@ runs: using: 'composite' steps: - name: "Set up node" - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: .nvmrc + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Get pnpm store directory" id: pnpm-cache shell: bash run: | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - name: "Setup cache" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} diff --git a/.github/actions/setup-python/action.yaml b/.github/actions/setup-python/action.yaml index 4f63b3a6a..a7244d46b 100644 --- a/.github/actions/setup-python/action.yaml +++ b/.github/actions/setup-python/action.yaml @@ -3,7 +3,7 @@ description: "Setup Python and install dependencies" runs: using: "composite" steps: - - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 with: python-version: '3.12' - run: pip install PyYAML httplib2 diff --git a/.github/actions/setup-tools/action.yaml b/.github/actions/setup-tools/action.yaml index ef6661bf5..8ab61a4fd 100644 --- a/.github/actions/setup-tools/action.yaml +++ b/.github/actions/setup-tools/action.yaml @@ -19,19 +19,19 @@ runs: - name: "Setup Java 21" id: setup-java - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 #v4 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #v5.2.0 with: distribution: "temurin" java-version: "21" - name: "Cache Mendix runtime" - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 #v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 #v5 with: path: tmp/runtime.tar.gz key: mendix-runtime-${{ inputs.mendix_version }} - name: "Cache m2ee-tools" - uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 #v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 #v5 with: path: tmp/m2ee key: m2ee-tools-v1 diff --git a/.github/actions/slack-notification/action.yml b/.github/actions/slack-notification/action.yml index 7dd5d3a99..a368788da 100644 --- a/.github/actions/slack-notification/action.yml +++ b/.github/actions/slack-notification/action.yml @@ -16,7 +16,7 @@ runs: using: "composite" steps: - name: Send Slack notification - uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d #v2 + uses: slackapi/slack-github-action@af78098f536edbc4de71162a307590698245be95 # v3.0.1 with: method: chat.postMessage token: ${{ inputs.bot-token }} diff --git a/.github/workflows/Build.yml b/.github/workflows/Build.yml index 2974a232f..c6a128e50 100644 --- a/.github/workflows/Build.yml +++ b/.github/workflows/Build.yml @@ -20,7 +20,7 @@ jobs: steps: - name: "Checking changed files" id: files - uses: softprops/diffset@db8c4e13f5cc3f8ab666ba2cb6998b688058a41c # v1 + uses: softprops/diffset@d60d53313c1b61c12ccb0fc76cbde5a14ae5d330 # v3 if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository with: base: main @@ -29,25 +29,26 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: "Checking-out code" - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: "Fetching main to compare" if: github.event_name == 'pull_request' && steps.files.outputs.global_files == '' run: git fetch --no-tags --prune --depth=1 origin +refs/heads/${{ github.base_ref }}:refs/remotes/origin/${{ github.base_ref }} - name: "Defining node version" - uses: actions/setup-node@d86ebcd40b3cb50b156bfa44dd277faf38282d12 # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: ".nvmrc" + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Get pnpm store directory" id: pnpm-cache shell: bash run: | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - name: "Setup cache" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} diff --git a/.github/workflows/BuildMpk.yml b/.github/workflows/BuildMpk.yml index 3bc683026..9c68385f7 100644 --- a/.github/workflows/BuildMpk.yml +++ b/.github/workflows/BuildMpk.yml @@ -27,15 +27,16 @@ jobs: steps: - name: "Checking-out code" - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: submodules: false - name: "Defining node version" - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: ".nvmrc" + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Installing dependencies" run: pnpm install - name: "Bumping version" @@ -52,7 +53,7 @@ jobs: VERSION: ${{ steps.bump_version.outputs.VERSION }} - name: "Upload MPK artifact" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: ${{ env.ARTIFACT_NAME }}-${{ steps.bump_version.outputs.VERSION }} path: ${{ env.ARTIFACT_PATH }} diff --git a/.github/workflows/MarketplaceRelease.yml b/.github/workflows/MarketplaceRelease.yml index 946d02fc0..56b9ba12d 100644 --- a/.github/workflows/MarketplaceRelease.yml +++ b/.github/workflows/MarketplaceRelease.yml @@ -12,24 +12,25 @@ jobs: steps: - name: "Checking-out code" - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: submodules: false - name: "Defining Environment Variables" id: variables run: echo "tag=$(git tag --points-at HEAD)" >> ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '$GITHUB_OUTPUT' }} - name: "Defining scope" - uses: jungwinter/split@c185fe95439c136a8788b7f700bd5275920d7109 # v1 + uses: jungwinter/split@7f51d99e7cc1f147f6f99be75acf5e641930af88 # v2.1.0 id: scope with: msg: "${{ steps.variables.outputs.tag }}" seperator: "-v" - name: "Defining node version" - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: ".nvmrc" + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Installing dependencies" run: pnpm install - name: "Building native widgets and js actions" diff --git a/.github/workflows/NativePipeline.yml b/.github/workflows/NativePipeline.yml index bcb3c16be..b7fc6e929 100644 --- a/.github/workflows/NativePipeline.yml +++ b/.github/workflows/NativePipeline.yml @@ -92,7 +92,7 @@ jobs: js_actions_changed: ${{ steps.scope.outputs.js_actions_changed }} steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 2 # Fetch the latest two commits and its parent commit - name: "Determine scope" @@ -112,20 +112,15 @@ jobs: mendix_version: ${{ steps.set-mendix-version.outputs.MENDIX_VERSION }} steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 - - name: "Get Mendix version from JSON" - id: get-mendix-version - uses: notiz-dev/github-action-json-property@7a701887f4b568b23eb7b78bb0fc49aaeb1b68d3 # v0.2.0 - with: - path: configs/e2e/mendix-versions.json - prop_path: latest + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set Mendix version id: set-mendix-version run: | if [[ -n "${{ github.event.inputs.mendix_version }}" ]]; then echo "MENDIX_VERSION=${{ github.event.inputs.mendix_version }}" >> $GITHUB_OUTPUT else - echo "MENDIX_VERSION=${{ steps.get-mendix-version.outputs.prop }}" >> $GITHUB_OUTPUT + MENDIX_VERSION=$(jq -r '.latest' configs/e2e/mendix-versions.json) + echo "MENDIX_VERSION=$MENDIX_VERSION" >> $GITHUB_OUTPUT fi - name: "Debug Mendix Version" run: | @@ -137,7 +132,7 @@ jobs: nt_branch: ${{ steps.set-output.outputs.nt_branch }} steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: "Check if nt_branch was specified" id: check-input run: | @@ -176,7 +171,7 @@ jobs: runs-on: ubuntu-24.04 steps: - name: "Login to GitHub Container Registry" - uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20 # v3.1.0 + uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0 with: registry: ghcr.io username: ${{ github.actor }} @@ -186,11 +181,11 @@ jobs: docker manifest inspect ghcr.io/mendix/native-widgets/mxbuild:${{ needs.mendix-version.outputs.mendix_version }} || EXIT_CODE=$? echo "IMAGE_MISSING=$EXIT_CODE" >> $GITHUB_ENV - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 if: ${{ env.IMAGE_MISSING != 0 }} - name: "Build mxbuild image" if: ${{ env.IMAGE_MISSING != 0 }} - uses: docker/build-push-action@2cdde995de11925a030ce8070c3d77a52ffcf1c0 # v5.3.0 + uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0 with: file: ./.github/scripts/mxbuild.Dockerfile context: ./.github/scripts @@ -206,15 +201,16 @@ jobs: contents: read steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: "Set up node" - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: .nvmrc + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Install dependencies" run: pnpm install --frozen-lockfile - name: "Force rebuild resources" @@ -237,7 +233,7 @@ jobs: run: pnpm -r --filter="${{ needs.scope.outputs.scope }}" run test - name: "Upload JS actions resources artifact" if: ${{ github.event.inputs.workspace == 'js-actions' }} - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: resources path: | @@ -245,7 +241,7 @@ jobs: packages/jsActions/nanoflow-actions-native/dist/**/* - name: "Upload widget and JS actions resources artifact" if: ${{ github.event.inputs.workspace != 'js-actions' }} - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: resources path: | @@ -272,7 +268,7 @@ jobs: with: args: unzip -qq project.zip -d . - name: "Download resources artifact" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: resources path: resources @@ -305,7 +301,7 @@ jobs: run: | mxbuild -o automation.mda --loose-version-check Native-Mobile-Resources-main/NativeComponentsTestProject.mpr - name: "Upload MDA" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: mda path: automation.mda @@ -321,9 +317,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: "Download deployment package" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: mda - name: "Create Android bundle" @@ -343,9 +339,9 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: "Download project MDA file" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: mda - name: "Create iOS bundle" @@ -362,28 +358,28 @@ jobs: - name: Debug branch value run: echo "Using branch ${{ needs.determine-nt-version.outputs.nt_branch }}" - name: "Check out Native Template for Native Components Test Project" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: mendix/native-template ref: ${{ needs.determine-nt-version.outputs.nt_branch }} path: native-template - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: path: native-widgets - name: "Download Android bundle and assets" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: android-bundle path: bundles/android - name: "Set up Node" - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: native-template/.nvmrc cache: npm cache-dependency-path: native-template/package-lock.json - name: "Cache Android Build" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: native-template/android/app/build key: ${{ runner.os }}-android-build-${{ hashFiles('native-template/android/app/src/**/*.java', 'native-template/android/app/src/**/*.kt', 'native-template/android/app/build.gradle') }} @@ -400,7 +396,7 @@ jobs: working-directory: native-template run: npm i - name: "Setup JDK " - uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 #v4 + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #v5.2.0 with: java-version: 21 distribution: temurin @@ -419,7 +415,7 @@ jobs: echo "Listing APK files in the output directory:" ls -R native-template/android/app/build/outputs/apk/ - name: "Archive Android app" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: android-app path: native-template/android/app/build/outputs/apk/**/*.apk @@ -430,28 +426,28 @@ jobs: if: ${{ github.event.inputs.LOCAL_TEST_ARTIFACT_RUN_ID == '' && always() && (needs.ios-bundle.result == 'success') }} steps: - name: "Check out Native Template for Native Components Test Project" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: repository: mendix/native-template ref: ${{ needs.determine-nt-version.outputs.nt_branch }} path: native-template - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: path: native-widgets - name: "Download iOS bundle and assets" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: ios-bundle path: bundles/ios - name: "Set up Node" - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: native-template/.nvmrc cache: npm cache-dependency-path: native-template/package-lock.json - name: "Cache iOS Build" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: native-template/ios/build key: ${{ runner.os }}-ios-build-${{ hashFiles('native-template/ios/**/*.swift', 'native-template/ios/**/*.h', 'native-template/ios/Podfile.lock') }} @@ -468,7 +464,7 @@ jobs: run: npm i - name: "Setup Pods cache" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: native-template/Pods key: ${{ runner.os }}-pods-${{ hashFiles('**/Podfile.lock') }} @@ -481,7 +477,7 @@ jobs: working-directory: native-template/ios run: xcodebuild -workspace NativeTemplate.xcworkspace -scheme nativeTemplate -configuration Debug -sdk iphonesimulator -derivedDataPath build ONLY_ACTIVE_ARCH=YES VALID_ARCHS="i386 x86_64" - name: "Archive iOS app" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: ios-app path: native-template/ios/build/Build/Products/**/*.app @@ -499,11 +495,11 @@ jobs: fail-fast: false steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: "Download project MDA file" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: mda # Used only when specific run id is provided when triggering the jbo @@ -518,7 +514,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} - name: "Download Android app" if: ${{ env.LOCAL_TEST_ARTIFACT_RUN_ID == '' }} - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: android-app path: android-app @@ -529,7 +525,7 @@ jobs: mendix_version: ${{ needs.mendix-version.outputs.mendix_version }} - name: "Start runtime with retry" - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2 + uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 with: timeout_minutes: 20 max_attempts: 3 @@ -542,7 +538,7 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - name: "Run android tests" - uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d # v2.0.0 + uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a # v2.37.0 with: api-level: 35 target: google_apis @@ -603,14 +599,14 @@ jobs: sleep 3 continue-on-error: true - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 1 fetch-tags: false clean: true ref: ${{ github.sha }} - name: "Download project MDA file" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: mda # Used only for local testing, will be empty on GitHub @@ -625,7 +621,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} - name: "Download iOS app" if: ${{ env.LOCAL_TEST_ARTIFACT_RUN_ID == '' }} - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: ios-app path: ios-app @@ -635,7 +631,7 @@ jobs: with: mendix_version: ${{ needs.mendix-version.outputs.mendix_version }} - name: "Start runtime with retry" - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2 + uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 with: timeout_minutes: 10 max_attempts: 3 @@ -666,11 +662,11 @@ jobs: timeout-minutes: 90 steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: "Download project MDA file" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: mda # Used only for local testing, will be empty on GitHub @@ -685,7 +681,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} - name: "Download Android app" if: ${{ env.LOCAL_TEST_ARTIFACT_RUN_ID == '' }} - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: android-app path: android-app @@ -695,7 +691,7 @@ jobs: with: mendix_version: ${{ needs.mendix-version.outputs.mendix_version }} - name: "Start runtime with retry" - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2 + uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 with: timeout_minutes: 10 max_attempts: 3 @@ -708,7 +704,7 @@ jobs: sudo udevadm control --reload-rules sudo udevadm trigger --name-match=kvm - name: "Run android tests" - uses: reactivecircus/android-emulator-runner@62dbb605bba737720e10b196cb4220d374026a6d # v2.0.0 + uses: reactivecircus/android-emulator-runner@e89f39f1abbbd05b1113a29cf4db69e7540cae5a # v2.37.0 with: api-level: 35 target: google_apis @@ -763,13 +759,13 @@ jobs: sleep $((RANDOM % 5 + 3)) continue-on-error: true - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 1 fetch-tags: false clean: true - name: "Download project MDA file" - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: mda # Used only for local testing, will be empty on GitHub @@ -784,7 +780,7 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} - name: "Download iOS app" if: ${{ env.LOCAL_TEST_ARTIFACT_RUN_ID == '' }} - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 with: name: ios-app path: ios-app @@ -794,7 +790,7 @@ jobs: with: mendix_version: ${{ needs.mendix-version.outputs.mendix_version }} - name: "Start runtime with retry" - uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 #v3.0.2 + uses: nick-fields/retry@ad984534de44a9489a53aefd81eb77f87c70dc60 # v4.0.0 with: timeout_minutes: 10 max_attempts: 3 @@ -824,7 +820,7 @@ jobs: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} steps: - name: "Check out code" - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: "Download Android screenshots" run: | @@ -866,14 +862,14 @@ jobs: run: node ${{ github.workspace }}/maestro/helpers/compare_screenshots.js ios - name: "Archive diff results" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: screenshot-diffs path: images/diffs if-no-files-found: ignore - name: "Archive comparison results" - uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4 + uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f #v7 with: name: comparison-results path: compare_output.txt diff --git a/.github/workflows/NightlyDispatcher.yml b/.github/workflows/NightlyDispatcher.yml index 3eb91b8ed..0e6929730 100644 --- a/.github/workflows/NightlyDispatcher.yml +++ b/.github/workflows/NightlyDispatcher.yml @@ -39,7 +39,7 @@ jobs: steps: - name: "Trigger Native Pipeline on ${{ needs.determine-target.outputs.target-branch }}" id: trigger - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 with: script: | const targetBranch = '${{ needs.determine-target.outputs.target-branch }}'; @@ -115,7 +115,7 @@ jobs: runs-on: ubuntu-latest steps: - name: "Monitor and retry failed jobs" - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 with: script: | const runId = '${{ needs.dispatch-pipeline.outputs.run-id }}'; diff --git a/.github/workflows/PublishDockerImage.yml b/.github/workflows/PublishDockerImage.yml index 0c6624bc5..23533353b 100644 --- a/.github/workflows/PublishDockerImage.yml +++ b/.github/workflows/PublishDockerImage.yml @@ -20,7 +20,7 @@ jobs: contents: read steps: - - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Getting variables id: variables run: | diff --git a/.github/workflows/PullRequestLabeler.yml b/.github/workflows/PullRequestLabeler.yml index 0b7365c80..170b785fb 100644 --- a/.github/workflows/PullRequestLabeler.yml +++ b/.github/workflows/PullRequestLabeler.yml @@ -6,7 +6,7 @@ jobs: triage: runs-on: ubuntu-latest steps: - - uses: actions/labeler@69da01b8e0929f147b8943611bee75ee4175a49e # v3.0.2 + - uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1 with: repo-token: ${{ secrets.GH_PAT }} configuration-path: ".github/configs/labeler.yml" diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml index 7af9cf80c..3d22b7e05 100644 --- a/.github/workflows/Release.yml +++ b/.github/workflows/Release.yml @@ -17,7 +17,7 @@ jobs: steps: - name: "Checking changed files" id: files - uses: softprops/diffset@db8c4e13f5cc3f8ab666ba2cb6998b688058a41c # v1 + uses: softprops/diffset@d60d53313c1b61c12ccb0fc76cbde5a14ae5d330 # v3 if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository with: base: main @@ -26,7 +26,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: "Checking-out code" - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: "Fetching main to compare" @@ -41,18 +41,19 @@ jobs: id: variablesWindows run: echo "arg=$(If ('${{ steps.files.outputs.global_files }}' -eq '' -AND '${{ github.event_name == 'pull_request' }}' -eq 'true'){ echo '--since' } Else { echo '--all' })" >> ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '$GITHUB_OUTPUT' }} - name: "Defining node version" - uses: actions/setup-node@d86ebcd40b3cb50b156bfa44dd277faf38282d12 # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: ".nvmrc" + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Get pnpm store directory" id: pnpm-cache shell: bash run: | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - name: "Setup cache" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} diff --git a/.github/workflows/ShaCheck.yml b/.github/workflows/ShaCheck.yml index e69a08fb4..4c5ebbbf0 100644 --- a/.github/workflows/ShaCheck.yml +++ b/.github/workflows/ShaCheck.yml @@ -16,8 +16,8 @@ jobs: runs-on: ubuntu-latest steps: - name: "Checking-out code" - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: submodules: false - name: "Ensure SHA pinned actions" - uses: zgosalvez/github-actions-ensure-sha-pinned-actions@0b552a197e44b819629237e065d781f5ca691460 # v1.1.1 + uses: zgosalvez/github-actions-ensure-sha-pinned-actions@471d5ace1f08e3c4df1c4c2f7e6341aa75da434a # v5.0.3 diff --git a/.github/workflows/UnitTests.yml b/.github/workflows/UnitTests.yml index 3d2f5cecd..90654318d 100644 --- a/.github/workflows/UnitTests.yml +++ b/.github/workflows/UnitTests.yml @@ -14,7 +14,7 @@ jobs: steps: - name: "Checking changed files" id: files - uses: softprops/diffset@d5947696689a571f7a984a52505e2649eead5c22 # v1 + uses: softprops/diffset@d60d53313c1b61c12ccb0fc76cbde5a14ae5d330 # v3 if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository with: base: main @@ -23,7 +23,7 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: "Checking-out code" - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3 + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: fetch-depth: 0 - name: "Fetching main to compare" @@ -33,18 +33,19 @@ jobs: id: variables run: echo "arg=$(if [ "${{ steps.files.outputs.global_files }}" = "" ] && ${{ github.event_name == 'pull_request' }}; then echo '...[origin/main]'; else echo '**'; fi)" >> ${{ runner.os == 'Windows' && '$env:GITHUB_OUTPUT' || '$GITHUB_OUTPUT' }} - name: "Defining node version" - uses: actions/setup-node@64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c # v3 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: node-version-file: ".nvmrc" + package-manager-cache: false - name: "Setup pnpm" - uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4 + uses: pnpm/action-setup@a8198c4bff370c8506180b035930dea56dbd5288 # v5 - name: "Get pnpm store directory" id: pnpm-cache shell: bash run: | echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - name: "Defining cache" - uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4 + uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5 env: cache-name: cache-node-modules with: diff --git a/.github/workflows/UpdateMinimumMxVersion.yml b/.github/workflows/UpdateMinimumMxVersion.yml index cf2df458c..8348187ac 100644 --- a/.github/workflows/UpdateMinimumMxVersion.yml +++ b/.github/workflows/UpdateMinimumMxVersion.yml @@ -19,12 +19,12 @@ jobs: update-version: runs-on: ubuntu-latest steps: - - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Setup Node.js - uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4 + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 with: - node-version: "20" + node-version-file: ".nvmrc" - name: Configure Git run: | diff --git a/.nvmrc b/.nvmrc index 9a2a0e219..a45fd52cc 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20 +24 diff --git a/packages/pluggableWidgets/maps-native/src/__tests__/Maps.spec.tsx b/packages/pluggableWidgets/maps-native/src/__tests__/Maps.spec.tsx index d1e1b38af..cfe45ead8 100644 --- a/packages/pluggableWidgets/maps-native/src/__tests__/Maps.spec.tsx +++ b/packages/pluggableWidgets/maps-native/src/__tests__/Maps.spec.tsx @@ -13,7 +13,7 @@ jest.mock("react-native-maps", () => { // Simulate onMapReady being called after component mounts React.useEffect(() => { if (props.onMapReady) { - setTimeout(() => props.onMapReady(), 0); + Promise.resolve().then(() => props.onMapReady()); } }, [props.onMapReady]);