* Export constants and type assertion utilities * Add permission set support to oauth provider * improve permission set parsing * Rename `PermissionSet` to `ScopePermissions` * Improve performance of NSID validation * Add support for `permission-set` in lexicon document * Validate NSID syntax using `@atproto/syntax` * Export all types used in public interfaces (from `lexicon-resolver`) * Small performance improvement * Rework scope parsing utilities to work with Lexicon defined permissions * file rename * fixup! Rework scope parsing utilities to work with Lexicon defined permissions * removed outdated comment * removed outdated comment * fix comment typo * Improve `SimpleStore` api * permission-set NSID auth scopes * Remove dev dependency on dev-env * fix build script * pnpm-lock * Improve fetch-node unicast protection * Explicitly set the `redirect: "follow"` `fetch()` option * Add delay when building oauth-provider-ui in watch mode * Remove external dependencies from auth-scopes * Add customizable lexicon authority to pds (for dev purposes) * fix pds migration * update permission-set icon * Add support for `include:` syntax in scopes * tidy * Renaming of "resource" concept to better reflect the fact that not all oauth scope values are about resources * changeset * ui improvmeents * i18n * ui imporvements * add `AtprotoAudience` type * Enforce proper formatting of audience (atproto supported did + fragment part) * tidy * tidy * tidy * fix ci ? * ci fix ? * tidy ? * Apply consistent outline around focusable items * Use `inheritAud: true` to control `aud` inheritance * Update packages/oauth/oauth-provider/src/lexicon/lexicon-manager.ts Co-authored-by: devin ivy <devinivy@gmail.com> * Review comments * Add `nsid` property to `LexiconResolutionError` * improve nsid validation * i18n * Improve oauth scope parsing * Simplify lex scope parsing * tidy * docs * tidy * ci * Code simplification * tidy * improve type safety * improve deps graph * naming * Improve tests and package structure * Improve error when resolving a non permission-set * improve nsid parsing perfs * benchmark * Refactor ozone and lexicon into using a common service profile mechanism * improve perfs * ci fix (?) * tidy * Allow storage of valid lexicons in lexicon store * Improve handling of lexicon resolution failures * review comment * Test both regexp and non regexp based nsid validation * properly detect presence of port number in https did:web * Re-enable logging of `safeFetch` requests * tidy --------- Co-authored-by: devin ivy <devinivy@gmail.com>
109 lines
3.2 KiB
YAML
109 lines
3.2 KiB
YAML
name: Test
|
|
|
|
on:
|
|
pull_request:
|
|
branches:
|
|
- '*'
|
|
|
|
concurrency:
|
|
group: '${{ github.workflow }}-${{ github.head_ref || github.ref }}'
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# https://github.com/actions/setup-node/issues/531#issuecomment-2960522861
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: package.json
|
|
- name: Enable Corepack
|
|
run: corepack enable
|
|
- name: Configure Dependency Cache
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
cache: 'pnpm'
|
|
- name: Get current month
|
|
run: echo "CURRENT_MONTH=$(date +'%Y-%m')" >> $GITHUB_ENV
|
|
- uses: actions/cache@v4
|
|
name: Cache Puppeteer browser binaries
|
|
with:
|
|
path: ~/.cache
|
|
key: ${{ env.CURRENT_MONTH }}-${{ runner.os }}
|
|
- run: pnpm i --frozen-lockfile
|
|
- run: pnpm build
|
|
- uses: actions/upload-artifact@v4
|
|
with:
|
|
name: dist
|
|
path: |
|
|
packages/*/dist
|
|
packages/*/*/dist
|
|
packages/oauth/*/src/locales/*/messages.ts
|
|
retention-days: 1
|
|
test:
|
|
name: Test
|
|
needs: build
|
|
strategy:
|
|
matrix:
|
|
shard: [1/8, 2/8, 3/8, 4/8, 5/8, 6/8, 7/8, 8/8]
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# https://github.com/actions/setup-node/issues/531#issuecomment-2960522861
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: package.json
|
|
- name: Enable Corepack
|
|
run: corepack enable
|
|
- name: Configure Dependency Cache
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
cache: 'pnpm'
|
|
- name: Get current month
|
|
run: echo "CURRENT_MONTH=$(date +'%Y-%m')" >> $GITHUB_ENV
|
|
- uses: actions/cache@v4
|
|
name: Cache Puppeteer browser binaries
|
|
with:
|
|
path: ~/.cache
|
|
key: ${{ env.CURRENT_MONTH }}-${{ runner.os }}
|
|
- run: pnpm i --frozen-lockfile
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: dist
|
|
path: packages
|
|
- run: pnpm test:withFlags --maxWorkers=1 --shard=${{ matrix.shard }} --passWithNoTests
|
|
verify:
|
|
name: Verify
|
|
needs: build
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
# https://github.com/actions/setup-node/issues/531#issuecomment-2960522861
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version-file: package.json
|
|
- name: Enable Corepack
|
|
run: corepack enable
|
|
- name: Configure Dependency Cache
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
cache: 'pnpm'
|
|
- name: Get current month
|
|
run: echo "CURRENT_MONTH=$(date +'%Y-%m')" >> $GITHUB_ENV
|
|
- uses: actions/cache@v4
|
|
name: Cache Puppeteer browser binaries
|
|
with:
|
|
path: ~/.cache
|
|
key: ${{ env.CURRENT_MONTH }}-${{ runner.os }}
|
|
- run: pnpm i --frozen-lockfile
|
|
- uses: actions/download-artifact@v4
|
|
with:
|
|
name: dist
|
|
path: packages
|
|
- run: pnpm verify
|