Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 0 additions & 78 deletions .github/workflows/manual-release.yml

This file was deleted.

36 changes: 16 additions & 20 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
name: Build, Test, Release

# On pushes to master (i.e. merging a PR)
# run all tests, on win, macos, linux, on node 12 & 14
# On pushes to main (i.e. merging a PR)
# run all tests, on Ubuntu Node 24 and release if tests pass
on:
push:
branches:
- main
- beta
- alpha
# Dont run if it's just markdown or doc files
- beta
paths-ignore:
# UNCOMMENT THIS AFTER
# - "**.md"
- "docs/**"
- "demos/**"
- "scripts/**"

permissions:
contents: read

jobs:
# First, build and test on multiple os's
# and multuple versions of node
Expand All @@ -24,12 +24,10 @@ jobs:

runs-on: ${{ matrix.os }}

# PRs will run tests on node 14,16 on ubuntu, macos and windows
# so for the release, we're just running node 16@ubuntu
strategy:
matrix:
os: [ubuntu-latest]
node: [18]
node: [24]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will we need to retroactively go through the other yml files and update them do remove legacy-peer-deps and update the node versions to 24 as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dixonyant yes eventually we want to only be on LTS versions of Node in these tests but I wanted to make sure we were up to date here since have to use NPM 11.5.1


steps:
- uses: actions/checkout@v4
Expand All @@ -54,7 +52,11 @@ jobs:
name: Release
needs: [build_and_test]
runs-on: ubuntu-latest

permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
id-token: write # to enable use of OIDC for trusted publishing and npm provenance
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -64,14 +66,10 @@ jobs:

- uses: actions/setup-node@v4
with:
node-version: 18
node-version: 24

- name: Configure npm
run: |
echo '//registry.npmjs.org/:_authToken=${NPM_TOKEN}' > .npmrc
cat .npmrc
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Update NPM
run: npm install -g [email protected]

- name: Install
run: npm ci --legacy-peer-deps
Expand All @@ -81,7 +79,5 @@ jobs:

- name: Release
env:
# GH_TOKEN is maintained in the repository secrets. See RELEASE.md for more information.
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npm run release
6 changes: 2 additions & 4 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,9 @@

As of v4, the ArcGIS REST JS packages are released automatically via Semantic Release.

**Note:** Any new packages added are published at v1.0.0 instead of 4.0.0.

### Deploy Token
As of November 2025 ArcGIS REST JS uses trusted publishing for all packages configured through the `release.yml` file.

The current deploy token is stored as a [repository secret](https://github.com/Esri/arcgis-rest-js/settings/secrets/actions) named `gh_token`, which is a GitHub personal access token. The user who generated that token must have the `Allow specified actors to bypass required pull requests` setting (see repo settings > Branches > `main`) set so that Semantic Release can commit on their behalf.
**Note:** Any new packages added are published at v1.0.0 instead of 4.0.0.

## v3

Expand Down
14 changes: 10 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.