microsoft/vscode-loc
Publicmirrored fromhttps://github.com/microsoft/vscode-locAvailable
.github/workflows/ci.yml
54lines · modecode
| 1 | # This is a basic workflow to help you get started with Actions |
| 2 | |
| 3 | name: CI |
| 4 | |
| 5 | # Controls when the action will run. |
| 6 | on: |
| 7 | pull_request: |
| 8 | branches: [ main ] |
| 9 | push: |
| 10 | branches: [ main ] |
| 11 | |
| 12 | # Allows you to run this workflow manually from the Actions tab |
| 13 | workflow_dispatch: |
| 14 | |
| 15 | jobs: |
| 16 | determine-matrix: |
| 17 | runs-on: ubuntu-latest |
| 18 | outputs: |
| 19 | matrix: ${{ steps.set-matrix.outputs.matrix }} |
| 20 | steps: |
| 21 | - name: Checkout code |
| 22 | uses: actions/checkout@v2 |
| 23 | |
| 24 | - id: set-matrix |
| 25 | run: | |
| 26 | $obj = @{ |
| 27 | languagePack = Get-ChildItem i18n | ForEach-Object Name |
| 28 | } |
| 29 | Write-Host "::set-output name=matrix::$($obj | ConvertTo-Json -Depth 100 -Compress)" |
| 30 | shell: pwsh |
| 31 | build: |
| 32 | name: Build |
| 33 | needs: determine-matrix |
| 34 | runs-on: ubuntu-latest |
| 35 | strategy: |
| 36 | matrix: ${{fromJSON(needs.determine-matrix.outputs.matrix)}} |
| 37 | steps: |
| 38 | - name: Checkout code |
| 39 | uses: actions/checkout@v2 |
| 40 | |
| 41 | - name: Generate Name |
| 42 | run: node -e "console.log('PACKAGE_NAME=' + require('./i18n/${{ matrix.languagePack }}/package.json').name + '-v' + require('./i18n/${{ matrix.languagePack }}/package.json').version)" >> $GITHUB_ENV |
| 43 | |
| 44 | - name: Install |
| 45 | run: cd ./i18n/${{ matrix.languagePack }} && npm i |
| 46 | |
| 47 | - name: Build Extension |
| 48 | run: cd ./i18n/${{ matrix.languagePack }} && npx vsce package -o ${{ env.PACKAGE_NAME }}.vsix |
| 49 | |
| 50 | - name: Publish Test Artifact |
| 51 | uses: actions/upload-artifact@v2 |
| 52 | with: |
| 53 | name: ${{ env.PACKAGE_NAME }}.vsix |
| 54 | path: ./i18n/${{ matrix.languagePack }}/${{ env.PACKAGE_NAME }}.vsix |
| 55 | |