From bedc61bcc84d3e56fc672a72e42e9f0844b16cd2 Mon Sep 17 00:00:00 2001 From: Abhirup Pal Date: Fri, 8 Jan 2021 16:25:37 +0530 Subject: [PATCH] ci: migrate to github actions (#1287) Fixes: #1286 --- .github/workflows/build.yml | 53 +++++++++++++++++++++++++++++++++++++ .travis.yml | 23 ---------------- package.json | 2 +- 3 files changed, 54 insertions(+), 24 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000000..565d9e11aa --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,53 @@ +name: build-run + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [ master ] + pull_request: + branches: [ master ] + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + name: Run Lint and Deploy + runs-on: ubuntu-latest + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v2 + + - name: Use Node.js 14 + uses: actions/setup-node@v1 + with: + # no support for lts as of now with github actions. + # issue link : https://github.com/actions/setup-node/issues/26 + node-version: '14' + - name: Angular CLI install + run : npm install -g --silent @angular/cli@9.1.12 + + - name: Npm install + run: npm install + + - name: Run lint + run : ng lint + + - name: Run build + run : npm run build:prod + + - name: Deploy to github pages + if: ${{ github.event_name == 'push' }} + uses: JamesIves/github-pages-deploy-action@3.7.1 + with: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: gh-pages + FOLDER: dist/web-app + #without preserve it only builds if you have untracked files + PRESERVE: true + # github user name and email shows up in the logs, + # so it would be better to make it silent. + SILENT: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 369e28b5df..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,23 +0,0 @@ - -sudo: required -dist: trusty -language: node_js -node_js: - - "lts/*" - -before_script: - - npm i npm@latest -g - - npm install -g --silent @angular/cli@9.1.12 - -script: - - ng lint - - npm run build:prod - -deploy: - provider: pages - skip-cleanup: true - local-dir: dist/web-app - github-token: $GITHUB_TOKEN - keep-history: true - on: - branch: master diff --git a/package.json b/package.json index 8a456f83a1..1467bd82af 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "scripts": { "ng": "ng", "build": "npm run env -s && ng build --prod --output-hashing=none", - "build:prod": "node --max-old-space-size=16384 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing=none --base-href=\"/web-app/\"", + "build:prod": "node --max-old-space-size=16384 ./node_modules/@angular/cli/bin/ng build --prod --output-hashing=none --base-href=/web-app/", "start": "npm run env -s && ng serve --aot --proxy-config proxy.conf.js", "serve:sw": "npm run build -s && npx http-server ./dist -p 4200", "lint": "ng lint && stylelint \"src/**/*.scss\" --syntax scss && htmlhint \"src\" --config .htmlhintrc",