Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
skyrpex committed Jul 19, 2023
1 parent dcb0f81 commit e87ea25
Showing 1 changed file with 101 additions and 108 deletions.
209 changes: 101 additions & 108 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -209,82 +209,82 @@ jobs:
- name: Create Markdown report
run: node scripts/benchmark_json_to_table.mjs

# e2e-test:
# name: "E2E / ${{ matrix.runner }} + Node${{ matrix.node }} [${{ matrix.shard }}]"
# runs-on: "${{ matrix.runner }}-latest"
# needs:
# - build
# strategy:
# fail-fast: true
# matrix:
# runner: [windows, macos, ubuntu]
# node: ["18", "20"]
# shard: ["1/2", "2/2"]
# full_run:
# # Do a full run on push or when the PR is labeled "pr/e2e-full"
# - ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, '🧪 pr/e2e-full') }}
# exclude:
# - runner: macos
# full_run: false
# - runner: windows
# full_run: false
# - runner: ubuntu
# node: "20"
# full_run: false
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# fetch-depth: 1

# - name: Setup pnpm
# uses: pnpm/[email protected]
# with:
# version: ${{ env.PNPM_VERSION }}

# - name: Setup Node
# uses: actions/setup-node@v3
# with:
# cache: "pnpm"
# node-version: ${{ matrix.node }}

# - name: Download Dist Artifacts
# uses: actions/download-artifact@v3
# with:
# name: dist
# path: dist

# - name: Install dependencies
# run: pnpm install --frozen-lockfile --ignore-scripts --filter hangar --filter examples-valid --filter examples-invalid

# - name: Run Hangar Tests
# working-directory: tools/hangar
# run: |
# pnpm test:generate
# pnpm run test --shard=${{ matrix.shard }} --update=${{ matrix.runner == 'ubuntu' && matrix.node == '18' }}

# - name: Create mutation if needed
# # we only care about the diff in our standard dev env
# if: matrix.runner == 'ubuntu' && matrix.node == '18'
# id: diff
# env:
# RAW_SHARD: ${{ matrix.shard }}
# run: |
# SHARD=$(echo $RAW_SHARD | sed 's/\//of/g')
# DIFF_NAME="e2e-$SHARD.diff"
# git add --all
# git diff --staged --binary --patch > $DIFF_NAME
# if [ -s $DIFF_NAME ]; then
# echo "diff=true" >> $GITHUB_OUTPUT
# echo "diff_name=$DIFF_NAME" >> $GITHUB_OUTPUT
# fi

# - name: Upload mutation
# if: matrix.runner == 'ubuntu' && matrix.node == '18' && steps.diff.outputs.diff == 'true'
# uses: actions/upload-artifact@v3
# with:
# name: ${{ steps.diff.outputs.diff_name }}
# path: ${{ steps.diff.outputs.diff_name }}
e2e-test:
name: "E2E / ${{ matrix.runner }} + Node${{ matrix.node }} [${{ matrix.shard }}]"
runs-on: "${{ matrix.runner }}-latest"
needs:
- build
strategy:
fail-fast: true
matrix:
runner: [windows, macos, ubuntu]
node: ["18", "20"]
shard: ["1/2", "2/2"]
full_run:
# Do a full run on push or when the PR is labeled "pr/e2e-full"
- ${{ github.event_name == 'push' || contains(github.event.pull_request.labels.*.name, '🧪 pr/e2e-full') }}
exclude:
- runner: macos
full_run: false
- runner: windows
full_run: false
- runner: ubuntu
node: "20"
full_run: false
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 1

- name: Setup pnpm
uses: pnpm/[email protected]
with:
version: ${{ env.PNPM_VERSION }}

- name: Setup Node
uses: actions/setup-node@v3
with:
cache: "pnpm"
node-version: ${{ matrix.node }}

- name: Download Dist Artifacts
uses: actions/download-artifact@v3
with:
name: dist
path: dist

- name: Install dependencies
run: pnpm install --frozen-lockfile --ignore-scripts --filter hangar --filter examples-valid --filter examples-invalid

- name: Run Hangar Tests
working-directory: tools/hangar
run: |
pnpm test:generate
pnpm run test --shard=${{ matrix.shard }} --update=${{ matrix.runner == 'ubuntu' && matrix.node == '18' }}
- name: Create mutation if needed
# we only care about the diff in our standard dev env
if: matrix.runner == 'ubuntu' && matrix.node == '18'
id: diff
env:
RAW_SHARD: ${{ matrix.shard }}
run: |
SHARD=$(echo $RAW_SHARD | sed 's/\//of/g')
DIFF_NAME="e2e-$SHARD.diff"
git add --all
git diff --staged --binary --patch > $DIFF_NAME
if [ -s $DIFF_NAME ]; then
echo "diff=true" >> $GITHUB_OUTPUT
echo "diff_name=$DIFF_NAME" >> $GITHUB_OUTPUT
fi
- name: Upload mutation
if: matrix.runner == 'ubuntu' && matrix.node == '18' && steps.diff.outputs.diff == 'true'
uses: actions/upload-artifact@v3
with:
name: ${{ steps.diff.outputs.diff_name }}
path: ${{ steps.diff.outputs.diff_name }}

quality-gate:
name: Quality Gate
Expand Down Expand Up @@ -313,7 +313,7 @@ jobs:

publish:
name: Publish
# if: ${{ github.event_name == 'push' && github.repository == 'winglang/wing' && github.ref == 'refs/heads/main' }}
if: ${{ github.event_name == 'push' && github.repository == 'winglang/wing' && github.ref == 'refs/heads/main' }}
needs:
- quality-gate
- build
Expand All @@ -322,36 +322,29 @@ jobs:
- name: Download Build Artifacts
uses: actions/download-artifact@v3

# - name: Tag commit
# uses: tvdias/[email protected]
# if: ${{ needs.build.outputs.last-version != needs.build.outputs.version }}
# with:
# repo-token: "${{ secrets.PROJEN_GITHUB_TOKEN }}"
# tag: "v${{ needs.build.outputs.version }}"
- name: Tag commit
uses: tvdias/[email protected]
if: ${{ needs.build.outputs.last-version != needs.build.outputs.version }}
with:
repo-token: "${{ secrets.PROJEN_GITHUB_TOKEN }}"
tag: "v${{ needs.build.outputs.version }}"

- name: Publish Extension to Visual Studio Marketplace
if: needs.build.outputs.vscode-wing-changed == 'true'
run: echo "Publishing VSCode Extension"
# - name: Publish Extension to Visual Studio Marketplace
# if: needs.build.outputs.vscode-wing-changed == 'true'
# uses: "HaaLeo/publish-vscode-extension@v1"
# with:
# pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
# registryUrl: "https://marketplace.visualstudio.com"
# extensionFile: "vscode-wing/vscode-wing.vsix"
# dependencies: false

# - name: Login to NPM registry
# run: npm set //registry.npmjs.org/:_authToken ${{ secrets.NPM_PUBLISH_TOKEN }}
uses: "HaaLeo/publish-vscode-extension@v1"
with:
pat: ${{ secrets.VS_MARKETPLACE_TOKEN }}
registryUrl: "https://marketplace.visualstudio.com"
extensionFile: "vscode-wing/vscode-wing.vsix"
dependencies: false

- name: Login to NPM registry
run: npm set //registry.npmjs.org/:_authToken ${{ secrets.NPM_PUBLISH_TOKEN }}

- name: Publish npm packages
# run: |
# for file in *.tgz; do
# npm publish "$file" --access public
# done
run: |
for file in *.tgz; do
echo "publish $file"
npm publish "$file" --access public
done
working-directory: dist

Expand Down Expand Up @@ -379,11 +372,11 @@ jobs:
echo '```' >> ../CHANGELOG.md
cat ../CHANGELOG.md
# - name: Cut Development Release
# uses: softprops/action-gh-release@v1
# with:
# name: "Wing ${{ needs.build.outputs.version }}"
# tag_name: "v${{ needs.build.outputs.version }}"
# body_path: CHANGELOG.md
# files: dist/*
# token: ${{ secrets.PROJEN_GITHUB_TOKEN }}
- name: Cut Development Release
uses: softprops/action-gh-release@v1
with:
name: "Wing ${{ needs.build.outputs.version }}"
tag_name: "v${{ needs.build.outputs.version }}"
body_path: CHANGELOG.md
files: dist/*
token: ${{ secrets.PROJEN_GITHUB_TOKEN }}

0 comments on commit e87ea25

Please sign in to comment.