diff --git a/.github/workflows/build_test_lint.yml b/.github/workflows/build_test_lint.yml deleted file mode 100644 index 953b4685..00000000 --- a/.github/workflows/build_test_lint.yml +++ /dev/null @@ -1,112 +0,0 @@ -name: Smart Forms Build-Test-Lint Workflow - -on: - push: - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Use Node.js 16.x - uses: actions/setup-node@v4 - with: - node-version: 16 - cache: npm - - name: Install dependencies - run: npm ci - - name: Build application - run: npm run build -w apps/smart-forms-app - - jest-test: - name: Jest Tests - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Use Node.js 16.x - uses: actions/setup-node@v4 - with: - node-version: 16 - cache: npm - - name: Install dependencies - run: npm ci - - name: Run jest tests - run: npm run test -w packages/smart-forms-renderer - - uses: codecov/codecov-action@v4 - - playwright-test: - name: Playwright Tests - timeout-minutes: 60 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 16 - cache: npm - - name: Install dependencies - run: npm ci - - name: Install Playwright Browsers - run: npx playwright install --with-deps - - name: Run Playwright tests - run: npm run playwright -w apps/smart-forms-app - - uses: actions/upload-artifact@v4 - if: always() - with: - build: npm run build -w apps/smart-forms-app - start: npm run preview -w apps/smart-forms-app - name: playwright-report - path: playwright-report/ - retention-days: 30 - - lint: - name: Lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - name: Use Node.js 16.x - uses: actions/setup-node@v4 - with: - node-version: 16 - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Run linter - run: npm run lint - - - name: Check formatting - run: npm run check-formatting - - deploy-storybook: - name: Deploy Storybook to S3 - runs-on: ubuntu-latest - permissions: - contents: read - pages: write - id-token: write - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js 18.x - uses: actions/setup-node@v4 - with: - node-version: 18 - cache: npm - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: arn:aws:iam::209248795938:role/SmartFormsReactAppDeployment - aws-region: ap-southeast-2 - - - name: Install dependencies - run: npm ci - - - name: Build application - run: npm run build-storybook -w packages/smart-forms-renderer - - - name: Upload static Storybook site to S3 - run: aws s3 sync packages/smart-forms-renderer/storybook-static s3://smart-forms-storybook/storybook diff --git a/.github/workflows/deploy_app.yml b/.github/workflows/deploy_app.yml deleted file mode 100644 index e48f9093..00000000 --- a/.github/workflows/deploy_app.yml +++ /dev/null @@ -1,69 +0,0 @@ -name: Smart Forms App Deployment Workflow - -on: - push: - branches: ['main'] - -permissions: - contents: read - pages: write - id-token: write - -jobs: - build: - name: Deploy Smart Forms app to S3 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js 16.x - uses: actions/setup-node@v4 - with: - node-version: 16 - cache: npm - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: arn:aws:iam::209248795938:role/SmartFormsReactAppDeployment - aws-region: ap-southeast-2 - - - name: Install dependencies - run: npm ci - - - name: Build application - run: npm run build -w apps/smart-forms-app - # export REACT_APP_SENTRY_RELEASE=`git rev-parse --short HEAD` - - # - name: Create Sentry release - # run: | - # export VERSION=`git rev-parse --short HEAD` && \ - # npx sentry-cli releases new $VERSION && \ - # npx sentry-cli releases set-commits $VERSION --local --ignore-empty --ignore-missing && \ - # npx sentry-cli releases files $VERSION upload-sourcemaps build - - - name: Upload static React site to S3 - run: aws s3 sync apps/smart-forms-app/dist s3://smart-forms-react-app/ - - chromatic: - name: Run Chromatic - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Use Node.js 18.x - uses: actions/setup-node@v4 - with: - node-version: 18 - cache: npm - - - name: Install dependencies - run: npm ci - - - name: Run Chromatic - uses: chromaui/action@latest - with: - projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }} - workingDir: packages/smart-forms-renderer diff --git a/.github/workflows/deploy_docs.yml b/.github/workflows/deploy_docs.yml deleted file mode 100644 index 96f0c6d3..00000000 --- a/.github/workflows/deploy_docs.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Smart Forms Docs Deployment Workflow - -on: - push: - -permissions: - contents: read - pages: write - id-token: write - -jobs: - deploy-docusaurus-s3: - name: Deploy Docusaurus to S3 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Use Node.js 18.x - uses: actions/setup-node@v4 - with: - node-version: 18 - cache: npm - - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@v4 - with: - role-to-assume: arn:aws:iam::209248795938:role/SmartFormsReactAppDeployment - aws-region: ap-southeast-2 - - - name: Install dependencies - run: npm ci - - - name: Build documentation website - run: npm run build -w documentation - - - name: Upload static Docusaurus site to S3 - run: aws s3 sync documentation/build s3://smart-forms-docs/docs --cache-control no-cache diff --git a/.github/workflows/publish_app.yml b/.github/workflows/publish_app.yml new file mode 100644 index 00000000..928651c9 --- /dev/null +++ b/.github/workflows/publish_app.yml @@ -0,0 +1,36 @@ + name: Smart Form App Publish Workflow + on: + push: + branches: ['main'] + + jobs: + publish: + name: Publish App to Nexus Repository + runs-on: ${{ matrix.os }} + strategy: + matrix: + node-version: + - 20.16 + os: + - ubuntu-latest + steps: + - name: Prepare Checkout + uses: actions/checkout@v3 + + - name: Set Up Node JS + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + check-latest: false + + - name: Installing Packages + run: npm install + + - name: Set up npm + run: | + echo "registry=https://repository.konsulin.care/repository/smart-forms/" > .npmrc + echo "//repository.konsulin.care/repository/smart-forms/:_authToken=${{ SECRETS.NPM_TOKEN }}" >> .npmrc + + - name: Publish npm package + run: npm publish + diff --git a/package.json b/package.json index 188bf89e..a09af609 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,13 @@ { + "name": "smart-forms", + "version": "1.0.0", "scripts": { "lint": "eslint -c .eslintrc.json .", "lint-fix": "eslint -c .eslintrc.json --fix .", "check-formatting": "prettier --check ." + }, + "publishConfig":{ + "registry": "https://repository.konsulin.care/repository/smart-forms/" }, "workspaces": [ "apps/smart-forms-app",