This is an automated email from the ASF dual-hosted git repository.
erisu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cordova-eslint.git
The following commit(s) were added to refs/heads/master by this push:
new f6122b8 chore(ci): draft release (#61)
f6122b8 is described below
commit f6122b818a41dfca22a6c0a8d637f647d0196225
Author: エリス <[email protected]>
AuthorDate: Tue Jan 27 15:19:55 2026 +0900
chore(ci): draft release (#61)
---
.npmignore => .asf-release/.gitkeep | 8 ++-
.github/workflows/draft-release.yml | 106 ++++++++++++++++++++++++++++++++++++
.gitignore | 4 ++
.npmignore | 3 +
.npmrc | 5 ++
5 files changed, 123 insertions(+), 3 deletions(-)
diff --git a/.npmignore b/.asf-release/.gitkeep
similarity index 80%
copy from .npmignore
copy to .asf-release/.gitkeep
index cc83ca8..a926db8 100644
--- a/.npmignore
+++ b/.asf-release/.gitkeep
@@ -15,6 +15,8 @@
# specific language governing permissions and limitations
# under the License.
-.*
-lcov.info
-spec
+# ---
+# This directory is used as apart of the release process.
+# Package tarballs will be generated in stored temporarily
+# within this directory and should not be commited to repo.
+# ---
diff --git a/.github/workflows/draft-release.yml
b/.github/workflows/draft-release.yml
new file mode 100644
index 0000000..b277477
--- /dev/null
+++ b/.github/workflows/draft-release.yml
@@ -0,0 +1,106 @@
+# 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@v6
+ - uses: actions/setup-node@v6
+ with:
+ node-version: 24
+
+ - name: Setup environment variables
+ run: |
+ REPO_NAME="${GITHUB_REPOSITORY#*/}"
+ TAG_NAME="${GITHUB_REF#refs/tags/}"
+ TARGET_RELEASE_VERSION="${TAG_NAME#draft/}"
+
+ echo "REPO_NAME=$REPO_NAME" >> $GITHUB_ENV
+ echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV
+ echo "TARGET_RELEASE_VERSION=$TARGET_RELEASE_VERSION" >> $GITHUB_ENV
+
+ echo "REPO_NAME=$REPO_NAME"
+ echo "TAG_NAME=$TAG_NAME"
+ echo "TARGET_RELEASE_VERSION=$TARGET_RELEASE_VERSION"
+
+ - 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)
+ 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 install
+ NPM_PKG_NAME=$(npm pack)
+ mv ./.asf-release/$NPM_PKG_NAME
./.asf-release/${REPO_NAME}-npm-${TARGET_RELEASE_VERSION}.tgz
+
+ - name: Generate "tar.gz" source archive
+ run: |-
+ git archive --format=tar.gz \
+ --prefix=${REPO_NAME}-source-${TARGET_RELEASE_VERSION}/ \
+ -o
./.asf-release/${REPO_NAME}-source-${TARGET_RELEASE_VERSION}.tar.gz \
+ ${TAG_NAME}
+
+ - name: Generate "zip" source archive
+ run: |-
+ git archive --format=zip \
+ --prefix=${REPO_NAME}-source-${TARGET_RELEASE_VERSION}/ \
+ -o
./.asf-release/${REPO_NAME}-source-${TARGET_RELEASE_VERSION}.zip \
+ ${TAG_NAME}
+
+ - 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@b7e972c11790ee16eca101900af1b3c7fd1b106e
+ with:
+ project: ${{ env.REPO_NAME }}
+ version: ${{ env.TARGET_RELEASE_VERSION }}
+ src: .asf-release
diff --git a/.gitignore b/.gitignore
index 262fadd..4ba4711 100644
--- a/.gitignore
+++ b/.gitignore
@@ -76,3 +76,7 @@ typings/
# next.js build output
.next
+
+# ASF release workspace
+.asf-release/
+!.asf-release/.gitkeep
diff --git a/.npmignore b/.npmignore
index cc83ca8..0ee16e7 100644
--- a/.npmignore
+++ b/.npmignore
@@ -18,3 +18,6 @@
.*
lcov.info
spec
+
+# ASF release workspace
+.asf-release/
diff --git a/.npmrc b/.npmrc
index 7cff323..6f982f7 100644
--- a/.npmrc
+++ b/.npmrc
@@ -16,3 +16,8 @@
# under the License.
registry=https://registry.npmjs.org
+
+# ASF release settings
+git-tag-version=false
+preid=dev
+pack-destination=./.asf-release
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]