name: windows_build on: workflow_dispatch: schedule: - cron: '0 0 * * *' push: pull_request: branches: [ master ] jobs: windows: runs-on: windows-2016 env: VSCODE_ARCH: ${{ matrix.vscode_arch }} OS_NAME: 'windows' strategy: fail-fast: false matrix: vscode_arch: [x64, ia32, arm64] steps: - uses: actions/checkout@v2 - name: Setup Node.js environment uses: actions/setup-node@v1 with: node-version: 12.18.3 - name: Install Yarn run: npm install -g yarn - name: Setup Python 2 uses: actions/setup-python@v2 with: python-version: '2.x' - name: Check PR or cron run: ./check_cron_or_pr.sh shell: bash - name: Clone VSCode repo run: ./get_repo.sh shell: bash - name: Check existing VSCodium tags/releases env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: ./check_tags.sh shell: bash if: env.SHOULD_DEPLOY == 'yes' - name: Compute cache key id: yarnCacheKey run: echo "::set-output name=value::$(node build/azure-pipelines/computeYarnCacheKey.js)" if: env.SHOULD_BUILD == 'yes' - name: Get yarn cache directory path id: yarnCacheDirPath run: echo "::set-output name=dir::$(yarn cache dir)" if: env.SHOULD_BUILD == 'yes' - name: Cache yarn directory uses: actions/cache@v2 with: path: ${{ steps.yarnCacheDirPath.outputs.dir }} key: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir-${{ steps.yarnCacheKey.outputs.value }} restore-keys: ${{ env.OS_NAME }}-${{ env.VSCODE_ARCH }}-yarnCacheDir- if: env.SHOULD_BUILD == 'yes' - name: Build env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} npm_config_arch: ${{ matrix.vscode_arch }} npm_config_target_arch: ${{ matrix.vscode_arch }} run: ./build.sh shell: bash if: env.SHOULD_BUILD == 'yes' - name: Move/rename build artifacts run: | mv vscode\\.build\\win32-${VSCODE_ARCH}\\system-setup\\VSCodeSetup.exe VSCodiumSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe mv vscode\\.build\\win32-${VSCODE_ARCH}\\user-setup\\VSCodeSetup.exe VSCodiumUserSetup-${VSCODE_ARCH}-${LATEST_MS_TAG}.exe mv vscode\\.build\\win32-${VSCODE_ARCH}\\archive\\VSCode-win32-${VSCODE_ARCH}.zip VSCodium-win32-${VSCODE_ARCH}-${LATEST_MS_TAG}.zip shell: bash if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Generate shasums run: ./sum.sh shell: bash if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' - name: Release uses: softprops/action-gh-release@v1 if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' with: tag_name: ${{ env.LATEST_MS_TAG }} files: | ./*.sha256 ./VSCodium*.zip ./VSCodiumUserSetup*.exe ./VSCodiumSetup*.exe env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Update versions repo if: env.SHOULD_BUILD == 'yes' && env.SHOULD_DEPLOY == 'yes' run: ./update_version.sh shell: bash env: GITHUB_TOKEN: ${{ secrets.STRONGER_GITHUB_TOKEN }} GITHUB_USERNAME: ${{ github.repository_owner }}