diff --git a/' b/' new file mode 100644 index 0000000000..2d206524b4 --- /dev/null +++ b/' @@ -0,0 +1,149 @@ +--- +name: Build + +on: + push: + branches-ignore: + - 'l10n_master' + workflow_dispatch: + inputs: + + +jobs: + cloc: + name: CLOC + runs-on: ubuntu-latest + steps: + - name: Checkout repo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Set up cloc + run: | + sudo apt update + sudo apt -y install cloc + - name: Print lines of code + run: cloc --include-lang TypeScript,JavaScript,HTML,Sass,CSS --vcs git + + + setup: + name: Setup + runs-on: ubuntu-latest + outputs: + repo_url: ${{ steps.gen_vars.outputs.repo_url }} + adj_build_number: ${{ steps.gen_vars.outputs.adj_build_number }} + steps: + - name: Checkout repo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Get Package Version + id: gen_vars + run: | + repo_url=https://github.com/$GITHUB_REPOSITORY.git + adj_build_num=${GITHUB_SHA:0:7} + + echo "::set-output name=repo_url::$repo_url" + echo "::set-output name=adj_build_number::$adj_build_num" + + locales-test: + name: Locales Test + runs-on: ubuntu-latest + needs: setup + steps: + - name: Checkout repo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Testing locales - extName length + run: | + found_error=false + + echo "Locales Test" + echo "============" + echo "extName string must be 40 characters or less" + echo + for locale in $(ls src/_locales/); do + string_length=$(jq '.extName.message | length' src/_locales/$locale/messages.json) + if [[ $string_length -gt 40 ]]; then + echo "$locale: $string_length" + found_error=true + fi + done + + if $found_error; then + echo + echo "Please fix 'extName' for the locales listed above." + exit 1 + else + echo "Test passed!" + fi + + build: + name: Build + runs-on: windows-latest + needs: [setup, locales-test] + env: + _BUILD_NUMBER: ${{ needs.setup.outputs.adj_build_number }} + steps: + - name: Checkout repo + uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f + + - name: Set up Node + uses: actions/setup-node@46071b5c7a2e0c34e49c3cb8a0e792e86e18d5ea + with: + node-version: '14' + + - name: Update NPM + run: | + npm install -g npm@7 + + - name: Print environment + run: | + node --version + npm --version + + - name: NPM setup & test + run: | + npm install + npm run dist + npm run test + + - name: Gulp + run: gulp ci + + - name: Try to find the zips + run: | + ls dist + + - name: Upload Opera artifact + uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 + with: + name: dist-opera-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-opera.zip + if-no-files-found: error + + - name: Upload Chrome artifact + uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 + with: + name: dist-chrome-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-chrome.zip + if-no-files-found: error + + - name: Upload Firefox artifact + uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 + with: + name: dist-firefox-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-firefox.zip + if-no-files-found: error + + - name: Upload Edge artifact + uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 + with: + name: dist-edge-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-edge.zip + if-no-files-found: error + + - name: Upload coverage artifact + uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 + with: + name: coverage-${{ env._BUILD_NUMBER }}.zip + path: coverage/coverage-${{ env._BUILD_NUMBER }}.zip + if-no-files-found: error diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 92c4ff329c..ca1cfe43f8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -111,34 +111,35 @@ jobs: - name: Try to find the zips run: | - ls dist + ls + ls coverage - name: Upload Opera artifact uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 with: name: dist-opera-${{ env._BUILD_NUMBER }}.zip - path: dist/dist-opera-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-opera.zip if-no-files-found: error - name: Upload Chrome artifact uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 with: name: dist-chrome-${{ env._BUILD_NUMBER }}.zip - path: dist/dist-chrome-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-chrome.zip if-no-files-found: error - name: Upload Firefox artifact uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 with: name: dist-firefox-${{ env._BUILD_NUMBER }}.zip - path: dist/dist-firefox-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-firefox.zip if-no-files-found: error - name: Upload Edge artifact uses: actions/upload-artifact@ee69f02b3dfdecd58bb31b4d133da38ba6fe3700 with: name: dist-edge-${{ env._BUILD_NUMBER }}.zip - path: dist/dist-edge-${{ env._BUILD_NUMBER }}.zip + path: dist/dist-edge.zip if-no-files-found: error - name: Upload coverage artifact