Skip to content

Scheduled Release Smoke Test #9

Scheduled Release Smoke Test

Scheduled Release Smoke Test #9

Workflow file for this run

name: Scheduled Release Smoke Test
on:
schedule:
# Runs every morning at 05:00
- cron: '0 5 * * *'
jobs:
release-core:
runs-on: ubuntu-latest
env:
WORKING_DIRECTORY: packages/core
steps:
- name: Check out code
uses: actions/checkout@v4
with:
ref: develop
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: '20.9.0' # You can change this to any fixed version if needed
registry-url: 'https://registry.npmjs.org'
- name: Set Tegel user
run: git config --global user.name "Tegel - Scania" && git config --global user.email "[email protected]"
- name: Core - Read Package.json Version
id: version
working-directory: ${{ env.WORKING_DIRECTORY }}
run: echo "PACKAGE_VERSION=$(jq -r .version package.json)" >> $GITHUB_OUTPUT
- name: Install dependencies in root
run: npm install
- name: Core - Install
working-directory: ${{ env.WORKING_DIRECTORY }}
run: npm install
- name: Core - Run build
working-directory: ${{ env.WORKING_DIRECTORY }}
run: npm run build
- name: Core - Publish (dry-run)
working-directory: ${{ env.WORKING_DIRECTORY }}
run: npm publish --tag latest --dry-run
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
release-angular:
needs: release-core
runs-on: ubuntu-latest
env:
WORKING_DIRECTORY: packages/angular
steps:
- name: Check out code
uses: actions/checkout@v4
with:
ref: develop
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: '20.9.0'
registry-url: 'https://registry.npmjs.org'
- name: Set Tegel user
run: git config --global user.name "Tegel - Scania" && git config --global user.email "[email protected]"
- name: Angular - Read package.json Version
id: version
working-directory: packages/angular
run: echo "PACKAGE_VERSION=$(jq -r .version package.json)" >> $GITHUB_OUTPUT
- name: Install dependencies in root
run: npm install
- name: Core - Install
working-directory: packages/core
run: npm install
- name: Angular - Install
working-directory: packages/angular
run: npm install
- name: Angular - Install latest tegel package
working-directory: packages/angular
run: npm install @scania/tegel@${{ steps.version.outputs.PACKAGE_VERSION }}
- name: Angular - Run build
run: npm run build-angular
- name: Angular - Publish (dry-run)
working-directory: packages/angular
run: npm publish --tag latest --dry-run
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
release-angular-17:
needs: release-core
runs-on: ubuntu-latest
env:
WORKING_DIRECTORY: packages/angular-17
steps:
- name: Check out code
uses: actions/checkout@v4
with:
ref: develop
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: '20.9.0'
registry-url: 'https://registry.npmjs.org'
- name: Set Tegel user
run: git config --global user.name "Tegel - Scania" && git config --global user.email "[email protected]"
- name: Angular-17 - Read package.json Version
id: version
working-directory: packages/angular-17/projects/components
run: echo "PACKAGE_VERSION=$(jq -r .version package.json)" >> $GITHUB_OUTPUT
- name: Install dependencies in root
run: npm install
- name: Core - Install
working-directory: packages/core
run: npm install
- name: Angular-17 workspace - Install
working-directory: packages/angular-17
run: npm install
- name: Angular-17 wrapper - Install
working-directory: packages/angular-17/projects/components
run: npm install
- name: Angular-17 workspace - Install latest tegel package
working-directory: packages/angular-17
run: npm install @scania/tegel@${{ steps.version.outputs.PACKAGE_VERSION }}
- name: Angular-17 wrapper - Install latest tegel package
working-directory: packages/angular-17/projects/components
run: npm install @scania/tegel@${{ steps.version.outputs.PACKAGE_VERSION }}
- name: Angular-17 - Run build
run: npm run build-angular-17
- name: Angular-17 - Publish (dry-run)
working-directory: packages/angular-17/dist/components
run: npm publish --tag latest --dry-run
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
release-react:
needs: release-core
runs-on: ubuntu-latest
env:
WORKING_DIRECTORY: packages/react
steps:
- name: Check out code
uses: actions/checkout@v4
with:
ref: develop
- name: Set up node
uses: actions/setup-node@v3
with:
node-version: '20.9.0'
registry-url: 'https://registry.npmjs.org'
- name: Set Tegel user
run: git config --global user.name "Tegel - Scania" && git config --global user.email "[email protected]"
- name: React - Read package.json Version
id: version
working-directory: packages/react
run: echo "PACKAGE_VERSION=$(jq -r .version package.json)" >> $GITHUB_OUTPUT
- name: Install dependencies in root
run: npm install
- name: Core - Install
working-directory: packages/core
run: npm install
- name: React - Install
working-directory: packages/react
run: npm install
- name: React - Install latest tegel package
working-directory: packages/react
run: npm install @scania/tegel@${{ steps.version.outputs.PACKAGE_VERSION }}
- name: React - Build
run: npm run build-react
- name: React - Publish (dry-run)
working-directory: packages/react
run: npm publish --tag latest --dry-run
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
# Check that all jobs pass
check-results:
needs: [release-core, release-angular, release-angular-17, release-react]
runs-on: ubuntu-latest
steps:
- name: Check results
run: |
echo "All previous jobs have completed successfully!"