This is an automated email from the ASF dual-hosted git repository. GitToTheHub pushed a commit to branch pr-chore-sync-workflows-with-paramedic in repository https://gitbox.apache.org/repos/asf/cordova-plugin-file-transfer.git
commit 11f0e21ef8dffb151d6cfc4658a83f1c8d3ddb32 Author: Manuel Beck <[email protected]> AuthorDate: Thu Jul 23 12:59:58 2026 +0200 chore: sync workflows with paramedic, add release audit & missing license headers - add new workflows: ci.yml, release-audit.yml - add files: .gitattributes, .rat-excludes, license_checker.yml - add missing license headers to .gitignore, .npmignore, .npmrc --- .gitattributes | 40 ++++++++++++++++++++++++ .github/workflows/android.yml | 59 +++++++++++++---------------------- .github/workflows/chrome.yml | 24 +++++++-------- .github/workflows/ci.yml | 61 +++++++++++++++++++++++++++++++++++++ .github/workflows/ios.yml | 43 ++++++++++++++------------ .github/workflows/lint.yml | 17 ++++++++--- .github/workflows/release-audit.yml | 58 +++++++++++++++++++++++++++++++++++ .gitignore | 22 +++++++++++-- .npmignore | 17 +++++++++++ .npmrc | 18 ++++++++++- .rat-excludes | 21 +++++++++++++ CONTRIBUTING.md | 4 +-- licence_checker.yml | 19 ++++++++++++ 13 files changed, 323 insertions(+), 80 deletions(-) diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..14b51cc --- /dev/null +++ b/.gitattributes @@ -0,0 +1,40 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +* text eol=lf + +# These files are binary and should be left untouched +# (binary is a macro for -text -diff) +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.ico binary +*.mov binary +*.mp4 binary +*.mp3 binary +*.flv binary +*.fla binary +*.swf binary +*.gz binary +*.zip binary +*.7z binary +*.ttf binary +*.eot binary +*.woff binary +*.pyc binary +*.pdf binary diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index 26eefce..ea2d169 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -6,12 +6,12 @@ # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the +# KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. @@ -30,6 +30,9 @@ on: - 'LICENSE' - '.eslint*' +permissions: + contents: read + jobs: test: name: Android ${{ matrix.versions.android }} Test @@ -41,7 +44,7 @@ jobs: # Storing a copy of the repo repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - node-version: 20 + node-version: 24 # These are the default Java configurations used by most tests. # To customize these options, add "java-distro" or "java-version" to the strategy matrix with its overriding value. @@ -57,28 +60,6 @@ jobs: strategy: matrix: versions: - - android: 7 - android-api: 24 - - - android: 7.1 - android-api: 25 - - - android: 8 - android-api: 26 - - - android: 8.1 - android-api: 27 - system-image-arch: x86 - - - android: 9 - android-api: 28 - - - android: 10 - android-api: 29 - - - android: 11 - android-api: 30 - - android: 12 android-api: 31 @@ -91,14 +72,25 @@ jobs: - android: 14 android-api: 34 + - android: 15 + android-api: 35 + + - android: 16 + android-api: 36 + timeout-minutes: 60 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + fetch-depth: 1 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ env.node-version }} - - uses: actions/setup-java@v4 + + - uses: actions/setup-java@0f481fcb613427c0f801b606911222b5b6f3083a # v5.5.0 env: java-version: ${{ matrix.versions.java-version == '' && env.default_java-version || matrix.versions.java-version }} java-distro: ${{ matrix.versions.java-distro == '' && env.default_java-distro || matrix.versions.java-distro }} @@ -129,7 +121,7 @@ jobs: if: ${{ endswith(env.repo, '/cordova-paramedic') != true }} run: npm i -g github:apache/cordova-paramedic - - uses: reactivecircus/android-emulator-runner@v2 + - uses: reactivecircus/android-emulator-runner@a421e43855164a8197daf9d8d40fe71c6996bb0d # v2.38.0 env: system-image-arch: ${{ matrix.versions.system-image-arch == '' && env.default_system-image-arch || matrix.versions.system-image-arch }} system-image-target: ${{ matrix.versions.system-image-target == '' && env.default_system-image-target || matrix.versions.system-image-target }} @@ -142,15 +134,8 @@ jobs: emulator-options: -no-window -gpu swiftshader_indirect -noaudio -no-boot-anim script: echo "Pregenerate the AVD before running Paramedic" - # PLUGIN'S EXTRA STEP - - name: Run file transfer server setup - run: | - npm i - npx forever start index.js - working-directory: ./tests/server - - name: Run paramedic tests - uses: reactivecircus/android-emulator-runner@v2 + uses: reactivecircus/android-emulator-runner@a421e43855164a8197daf9d8d40fe71c6996bb0d # v2.38.0 env: system-image-arch: ${{ matrix.versions.system-image-arch == '' && env.default_system-image-arch || matrix.versions.system-image-arch }} system-image-target: ${{ matrix.versions.system-image-target == '' && env.default_system-image-target || matrix.versions.system-image-target }} diff --git a/.github/workflows/chrome.yml b/.github/workflows/chrome.yml index 23219cb..3b05b99 100644 --- a/.github/workflows/chrome.yml +++ b/.github/workflows/chrome.yml @@ -6,12 +6,12 @@ # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the +# KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. @@ -29,6 +29,9 @@ on: - 'LICENSE' - '.eslint*' +permissions: + contents: read + jobs: test: name: Chrome Latest Test @@ -39,11 +42,15 @@ jobs: # Storing a copy of the repo repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - node-version: 20 + node-version: 24 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + fetch-depth: 1 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ env.node-version }} @@ -64,13 +71,6 @@ jobs: if: ${{ endswith(env.repo, '/cordova-paramedic') != true }} run: npm i -g github:apache/cordova-paramedic - # PLUGIN'S EXTRA STEP - - name: Run file transfer server setup - run: | - npm i - npx forever start index.js - working-directory: ./tests/server - - name: Run paramedic tests env: test_config: 'browser.config.json' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..890e50f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,61 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Node CI + +on: + push: + branches-ignore: + - 'dependabot/**' + pull_request: + branches: + - '*' + +jobs: + codeql: + name: CodeQL Analysis + runs-on: ubuntu-latest + + permissions: + contents: read + security-events: write + + steps: + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + fetch-depth: 1 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version: 24.x + + - uses: github/codeql-action/init@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0 + with: + tools: linked + languages: javascript, actions + queries: security-and-quality + config: | + paths-ignore: + - node_modules + + - name: Run npm install + run: npm ci + env: + CI: true + + - uses: github/codeql-action/analyze@99df26d4f13ea111d4ec1a7dddef6063f76b97e9 # v4.37.0 diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index b6729cf..a06960b 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -6,12 +6,12 @@ # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the +# KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. @@ -23,12 +23,16 @@ on: - '**.md' - 'LICENSE' - '.eslint*' + pull_request: paths-ignore: - '**.md' - 'LICENSE' - '.eslint*' +permissions: + contents: read + jobs: test: name: iOS ${{ matrix.versions.ios-version }} Test @@ -40,7 +44,7 @@ jobs: # Storing a copy of the repo repo: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - node-version: 20 + node-version: 24 # > Starting April 26, 2021, all iOS and iPadOS apps submitted to the App Store must be built with Xcode 12 and the iOS 14 SDK. # Because of Apple's requirement, listed above, We will only be using the latest Xcode release for testing. @@ -51,23 +55,29 @@ jobs: matrix: versions: - os-version: macos-14 - ios-version: 15.x + ios-version: 17.x xcode-version: 15.x - - os-version: macos-14 - ios-version: 16.x - xcode-version: 15.x + - os-version: macos-15 + ios-version: 18.x + xcode-version: 16.x - - os-version: macos-14 - ios-version: 17.x - xcode-version: 15.x + - os-version: macos-26 + ios-version: 26.x + xcode-version: 26.x steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + fetch-depth: 1 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ env.node-version }} - - uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd + + # maxim-lobanov/setup-xcode v1.7.0 + - uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 env: xcode-version: ${{ matrix.versions.xcode-version == '' && env.default_xcode-version || matrix.versions.xcode-version }} with: @@ -88,13 +98,6 @@ jobs: if: ${{ endswith(env.repo, '/cordova-paramedic') != true }} run: npm i -g github:apache/cordova-paramedic - # PLUGIN'S EXTRA STEP - - name: Run file transfer server setup - run: | - npm i - npx forever start index.js - working-directory: ./tests/server - - name: Run paramedic tests env: test_config: 'ios-${{ matrix.versions.ios-version }}.config.json' diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 53dad12..6b9a594 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -6,12 +6,12 @@ # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the +# KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. @@ -29,16 +29,23 @@ on: - '.eslint*' - '.github/workflow/lint.yml' +permissions: + contents: read + jobs: test: name: Lint Test runs-on: ubuntu-latest env: - node-version: 20 + node-version: 24 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + fetch-depth: 1 + + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: ${{ env.node-version }} diff --git a/.github/workflows/release-audit.yml b/.github/workflows/release-audit.yml new file mode 100644 index 0000000..3156baa --- /dev/null +++ b/.github/workflows/release-audit.yml @@ -0,0 +1,58 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Release Auditing + +on: + push: + branches-ignore: + - 'dependabot/**' + pull_request: + branches: + - '*' + +permissions: + contents: read + +jobs: + test: + name: Audit Licenses + runs-on: ubuntu-latest + steps: + # Checkout project + - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + with: + persist-credentials: false + fetch-depth: 1 + + # Check license headers + - uses: erisu/apache-rat-action@30c94d10ed21e6f6fd5590dc5c158f58cae7a0dd # v3.0.0 + + # Setup environment with node + - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 + with: + node-version: 24 + + # Install node packages + - name: npm install packages + run: npm ci + + # Check node package licenses + - uses: erisu/license-checker-action@04511f4c052b5773f11e1c65b42cda88235c62ae # v2.1.0 + with: + license-config: 'licence_checker.yml' + include-asf-category-a: true diff --git a/.gitignore b/.gitignore index ef71d04..4535e3f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,20 @@ -#If ignorance is bliss, then somebody knock the smile off my face +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. -*.csproj.user -*.suo *.cache Thumbs.db *.DS_Store @@ -12,4 +25,7 @@ Thumbs.db *.swp *.user +.vscode +tmp + node_modules diff --git a/.npmignore b/.npmignore index 2657abf..10b946b 100644 --- a/.npmignore +++ b/.npmignore @@ -1,2 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + .* tests diff --git a/.npmrc b/.npmrc index 24358ae..7cff323 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,18 @@ -registry=https://registry.npmjs.org +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +registry=https://registry.npmjs.org diff --git a/.rat-excludes b/.rat-excludes new file mode 100644 index 0000000..f21ebe1 --- /dev/null +++ b/.rat-excludes @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +.git/ +coverage/ +node_modules/ +types/index.d.ts diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4c8e6a5..385e81b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,12 +8,12 @@ # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -# KIND, either express or implied. See the License for the +# KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. # diff --git a/licence_checker.yml b/licence_checker.yml new file mode 100644 index 0000000..6456f79 --- /dev/null +++ b/licence_checker.yml @@ -0,0 +1,19 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +# Empty for the release audit workflow. +# The `license-config` is required even if there are no custom configs --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
