Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: release #305

Merged
merged 2 commits into from
Mar 14, 2024
Merged
Show file tree
Hide file tree
Changes from all 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
25 changes: 25 additions & 0 deletions .github/workflows/approve-merge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Merge Release PR

on:
pull_request_review:
types: [submitted]

jobs:
pr_approved:
if: ${{ github.event.review.state == 'approved' && github.event.pull_request.base.ref == 'master' && github.event.pull_request.head.ref == 'next' }}
runs-on: ubuntu-latest
steps:
- name: Clone git repo
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Merge PR
run: |
git checkout master
git merge --ff origin/next
git push -u origin master
- uses: benc-uk/workflow-dispatch@v1
with:
workflow: release.yaml
ref: master
2 changes: 1 addition & 1 deletion .github/workflows/pr-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ permissions:
pull-requests: read

jobs:
main:
lint:
name: pr-lint
runs-on: ubuntu-latest
steps:
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/release-pr.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Release PR

on:
push:
branches:
- next

permissions:
contents: read

jobs:
release_pr:
permissions:
issues: write
pull-requests: write
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'

- name: Install Dependencies
run: npm clean-install

- name: Generate Changes
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -ex
echo '# Release Changes' > changes.md
npx semantic-release@22.0.12 -d -p '@semantic-release/release-notes-generator' -b next | grep -v semantic-release | tee -a changes.md
printf '\n---\n\n### Approve this PR to release above packages!' >> changes.md
- name: Create PR
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -ex
export PR_NUMBER=$(gh pr list -B master -H next --json number | jq -r '.[0].number')
if [[ "$(git rev-parse origin/master)" == "$(git rev-parse origin/next)" ]]; then exit 0; fi
if [[ "$PR_NUMBER" == "null" ]]; then gh pr create -B master -H next -t "chore: release" -F changes.md; fi
if [[ "$PR_NUMBER" != "null" ]]; then gh pr edit $PR_NUMBER -F changes.md; fi
3 changes: 3 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
push:
branches:
- master
workflow_dispatch:

permissions:
contents: read
Expand All @@ -17,6 +18,8 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
ref: master

- uses: docker/login-action@v3
with:
Expand Down
5 changes: 1 addition & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ USER node
ARG APP_HOME=/home/node/srv
WORKDIR $APP_HOME

COPY package.json package.json
COPY package-lock.json package-lock.json

COPY --chown=node:node . $APP_HOME
COPY --chown=node:node ./cfg $APP_HOME/cfg
COPY --chown=node:node --from=build $APP_HOME/lib $APP_HOME/lib

EXPOSE 50051
Expand Down
4 changes: 2 additions & 2 deletions src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ export interface FilterType {

// Create a ids client instance
let idsClientInstance: UserServiceClient;
const cfg = createServiceConfig(process.cwd());
const getUserServiceClient = async () => {
if (!idsClientInstance) {
const cfg = createServiceConfig(process.cwd());
// identity-srv client to resolve subject ID by token
const grpcIDSConfig = cfg.get('client:user');
const loggerCfg = cfg.get('logger');
Expand Down Expand Up @@ -86,7 +86,7 @@ export async function checkAccessRequest(ctx: ACSClientContext, resource: Resour

let result: DecisionResponse | PolicySetRQResponse;
try {
result = await accessRequest(subject, resource, action, ctx, { operation });
result = await accessRequest(subject, resource, action, ctx, { operation, roleScopingEntityURN: cfg?.get('authorization:urns:organization') });
} catch (err) {
return {
decision: Response_Decision.DENY,
Expand Down
Loading