Skip to content

feat(map.ts): ExtendedMap.update() #35

feat(map.ts): ExtendedMap.update()

feat(map.ts): ExtendedMap.update() #35

Workflow file for this run

name: Push
on: push
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 24
cache: "npm"
- name: Install deps
run: npm ci
- name: Lint
run: npm run lint
test:
name: Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 24
cache: "npm"
- name: Install deps
run: npm ci
- name: Run unit tests
run: npm run test
build:
name: Build
needs: [lint, test]
runs-on: ubuntu-latest
outputs:
art-id: ${{ steps.upload.outputs.artifact-id }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 24
cache: "npm"
- name: Install deps
run: npm ci
- name: Build
run: npm run build
- name: Upload artifact
id: upload
uses: actions/upload-artifact@v4
with:
name: lib-solvro-utils
path: dist/
create-tag-if-needed:
name: Create version tag on new version
runs-on: ubuntu-latest
needs: [build]
if: ${{ success() && github.ref == 'refs/heads/main' }}
outputs:
newVersion: ${{ steps.main.outputs.newVersion }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Create tag if needed
id: main
shell: bash
run: |
VERSION=`jq -r '.version' package.json`
if [[ "$VERSION" == "0.0.0" ]];
then
# fake version, quit
echo "newVersion=false" >> $GITHUB_OUTPUT
exit 0
fi
if ! git fetch origin "v$VERSION"
then
git tag "v$VERSION"
git push origin "v$VERSION"
echo "newVersion=true" >> $GITHUB_OUTPUT
else
echo "newVersion=false" >> $GITHUB_OUTPUT
fi
publish:
name: Publish
runs-on: ubuntu-latest
needs: [build, create-tag-if-needed]
if: |
always() &&
!contains(needs.*.result, 'failure') &&
!contains(needs.*.result, 'cancelled') &&
( startsWith(github.ref, 'refs/tags/v') || needs.create-tag-if-needed.outputs.newVersion == 'true' )
permissions:
contents: read
id-token: write
steps:
- name: Chechout
uses: actions/checkout@v4
- name: Verify package.json version
shell: bash
if: ${{ github.ref_type == 'tag' }}
run: |
VERSION=`jq -r '.version' package.json`;
if [[ "refs/tags/v$VERSION" != "$GITHUB_REF" ]]
then
echo "::error::Pushed tag name does not match the package.json version at the tagged commit!";
exit 1;
fi
- name: Set up node
uses: actions/setup-node@v4
with:
node-version: "24"
registry-url: "https://registry.npmjs.org"
- uses: actions/download-artifact@v4
with:
artifact-ids: ${{ needs.build.outputs.art-id }}
path: dist/
merge-multiple: true
- name: Publish
run: npm publish --provenance --access public