This is an automated email from the ASF dual-hosted git repository.
NiklasMerz pushed a commit to branch 6.0.x
in repository
https://gitbox.apache.org/repos/asf/cordova-plugin-inappbrowser.git
The following commit(s) were added to refs/heads/6.0.x by this push:
new e83328c chore(ci): add/update release workflows
e83328c is described below
commit e83328c71305eb55d9b1a38af41d7f3a580b97d7
Author: Niklas Merz <[email protected]>
AuthorDate: Mon Jun 1 08:27:51 2026 +0200
chore(ci): add/update release workflows
---
.github/workflows/draft-release.yml | 154 ++++++++++++++++++++++++++++++++++++
.github/workflows/release-audit.yml | 58 ++++++++++++++
2 files changed, 212 insertions(+)
diff --git a/.github/workflows/draft-release.yml
b/.github/workflows/draft-release.yml
new file mode 100644
index 0000000..a04a9bd
--- /dev/null
+++ b/.github/workflows/draft-release.yml
@@ -0,0 +1,154 @@
+# 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: Draft Release
+
+on:
+ push:
+ tags:
+ - 'draft/**'
+
+permissions:
+ contents: read
+ id-token: write
+
+jobs:
+ upload-to-atr:
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
+ with:
+ persist-credentials: false
+ fetch-depth: 1
+ - uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e #
v6.4.0
+ with:
+ node-version: 24
+ package-manager-cache: false
+ cache: ''
+
+ - name: Setup environment variables
+ run: |
+ REPO_NAME="${GITHUB_REPOSITORY#*/}"
+ TAG_NAME="${GITHUB_REF#refs/tags/}"
+ TARGET_RELEASE_VERSION="${TAG_NAME#draft/}"
+ SRC_PACKAGE_NAME=${REPO_NAME}-source-${TARGET_RELEASE_VERSION}
+ SRC_PACKAGE_TAR=${SRC_PACKAGE_NAME}.tar
+ SRC_PACKAGE_TAR_GZ=${SRC_PACKAGE_NAME}.tar.gz
+ SRC_PACKAGE_ZIP=${SRC_PACKAGE_NAME}.zip
+ NPM_PACKAGE_NAME=${REPO_NAME}-npm-${TARGET_RELEASE_VERSION}
+
+ echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV
+ echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
+ echo "TARGET_RELEASE_VERSION=$TARGET_RELEASE_VERSION" >> $GITHUB_ENV
+ echo "SRC_PACKAGE_NAME=$SRC_PACKAGE_NAME" >> $GITHUB_ENV
+ echo "SRC_PACKAGE_TAR=$SRC_PACKAGE_TAR" >> $GITHUB_ENV
+ echo "SRC_PACKAGE_TAR_GZ=$SRC_PACKAGE_TAR_GZ" >> $GITHUB_ENV
+ echo "SRC_PACKAGE_ZIP=$SRC_PACKAGE_ZIP" >> $GITHUB_ENV
+ echo "NPM_PACKAGE_NAME=$NPM_PACKAGE_NAME" >> $GITHUB_ENV
+
+ echo "REPO_NAME=$REPO_NAME"
+ echo "TAG_NAME=$TAG_NAME"
+ echo "TARGET_RELEASE_VERSION=$TARGET_RELEASE_VERSION"
+ echo "SRC_PACKAGE_NAME=$SRC_PACKAGE_NAME"
+ echo "SRC_PACKAGE_TAR=$SRC_PACKAGE_TAR"
+ echo "SRC_PACKAGE_TAR_GZ=$SRC_PACKAGE_TAR_GZ"
+ echo "SRC_PACKAGE_ZIP=$SRC_PACKAGE_ZIP"
+ echo "NPM_PACKAGE_NAME=$NPM_PACKAGE_NAME"
+
+ - name: Verify Target Release Version
+ run: |
+ PACKAGE_VERSION=$(jq -r '.version' package.json)
+ if [ "$PACKAGE_VERSION" != "$TARGET_RELEASE_VERSION" ]; then
+ echo "Mismatch version detected between tag version
($TARGET_RELEASE_VERSION) and package version ($PACKAGE_VERSION)"
+ exit 1
+ fi
+
+ if [ -f "plugin.xml" ]; then
+ PLUGIN_VERSION=$(yq -p=xml -o=json '.plugin.+@version' plugin.xml
| jq -r .)
+ if [ "$PLUGIN_VERSION" != "$TARGET_RELEASE_VERSION" ]; then
+ echo "Mismatch version detected between tag version
($TARGET_RELEASE_VERSION) and plugin version ($PLUGIN_VERSION)"
+ exit 1
+ fi
+ fi
+
+ - name: Generate "tgz" npm convenience package
+ run: |-
+ npm ci
+ NPM_PKG_NAME=$(npm pack --json | jq -r '.[0].filename')
+ mv ./.asf-release/$NPM_PKG_NAME
./.asf-release/${NPM_PACKAGE_NAME}.tgz
+ env:
+ TZ: UTC
+
+ - name: Generate "tar" source package
+ run: |-
+ export SRC_LAST_COMMIT_EPOCH=$(git log -1 --format=%ct "$TAG_NAME")
+
+ git archive \
+ --prefix=$SRC_PACKAGE_NAME/ \
+ --mtime=$SRC_LAST_COMMIT_EPOCH \
+ -o ./.asf-release/${SRC_PACKAGE_TAR} \
+ $TAG_NAME
+ env:
+ TZ: UTC
+
+ - name: Generate "tar.gz" source archive
+ working-directory: ./.asf-release
+ run: |-
+ gzip -n -9 -c "$SRC_PACKAGE_TAR" > "$SRC_PACKAGE_TAR_GZ"
+ env:
+ TZ: UTC
+
+ - name: Generate "zip" source archive
+ working-directory: ./.asf-release
+ run: |-
+ export ASF_RELEASE_DIR=$(pwd)
+ export TMP_DIR=$(mktemp -d)
+
+ tar -xf "$SRC_PACKAGE_TAR" -C "$TMP_DIR"
+ (
+ cd "$TMP_DIR"
+ find . -type f | LC_ALL=C sort | zip -X -q
"$ASF_RELEASE_DIR/$SRC_PACKAGE_ZIP" -@
+ )
+ rm -rf $TMP_DIR
+ env:
+ TZ: UTC
+
+ - name: Cleanup Process
+ working-directory: ./.asf-release
+ run: |-
+ rm -rf $SRC_PACKAGE_TAR
+ rm -rf .gitkeep
+
+ - name: Create Sign and Checksum
+ working-directory: .asf-release
+ run: |-
+ for f in *.tar.gz *.tgz *.zip; do
+ [ -e "$f" ] || continue
+ echo "$CORDOVA_GPG_SECRET_KEY" | gpg --batch --import
--import-options import-show
+ gpg --armor --detach-sign "$f"
+ sha512sum "$f" > "${f}.sha512"
+ done
+ env:
+ CORDOVA_GPG_SECRET_KEY: ${{ secrets.CORDOVA_GPG_SECRET_KEY }}
+
+ - name: Upload to Apache Trusted Release (ATR)
+ uses:
apache/tooling-actions/upload-to-atr@f5f4c0e7ddfbde6b1f8288cef36324c6def68051
+ with:
+ project: ${{ env.REPO_NAME }}
+ version: ${{ env.TARGET_RELEASE_VERSION }}
+ src: .asf-release
diff --git a/.github/workflows/release-audit.yml
b/.github/workflows/release-audit.yml
new file mode 100644
index 0000000..d3d7067
--- /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@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
+ with:
+ persist-credentials: false
+ fetch-depth: 1
+
+ # Check license headers (v2.0.0)
+ - uses: erisu/apache-rat-action@46fb01ce7d8f76bdcd7ab10e7af46e1ea95ca01c
+
+ # 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 (v2.0.1)
+ - uses:
erisu/license-checker-action@99cffa11264fe545fd0baa6c13bca5a00ae608f2
+ with:
+ license-config: 'licence_checker.yml'
+ include-asf-category-a: true
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]