Skip to content

Commit

Permalink
adding pipeline for gh release
Browse files Browse the repository at this point in the history
  • Loading branch information
alshdavid committed Jan 31, 2025
1 parent 7fef7d7 commit 3c04853
Show file tree
Hide file tree
Showing 3 changed files with 199 additions and 0 deletions.
149 changes: 149 additions & 0 deletions .github/workflows/gh-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
name: Github Release

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

on:
pull_request:
branches:
- "main"

push:
branches:
- "main"

jobs:
# test_unit_js:
# name: 🧪 Unit Tests JavaScript
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# - uses: ./.github/actions/rust-toolchain
# - uses: Swatinem/rust-cache@v2
# with: { shared-key: "${{ runner.os }}" }
# - run: yarn
# - run: yarn build-native-release && yarn build
# - run: yarn test:js:unit

# test_unit_rs:
# name: 🧪 Unit Tests Rust
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# - uses: ./.github/actions/rust-toolchain
# - uses: Swatinem/rust-cache@v2
# with: { shared-key: "${{ runner.os }}" }
# - run: yarn
# - run: yarn build-native-release && yarn build
# - run: yarn test:rs:unit

# test_integration:
# name: 🧪 Integration Tests
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# - uses: ./.github/actions/rust-toolchain
# - uses: Swatinem/rust-cache@v2
# with: { shared-key: "${{ runner.os }}" }
# - run: yarn
# - run: yarn build-native-release && yarn build
# - run: yarn test:integration

# lint_and_format:
# name: 📝 Lint & Format
# runs-on: ubuntu-24.04
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-node@v4
# - uses: ./.github/actions/rust-toolchain
# with: { components: "clippy, rustfmt" }
# - uses: Swatinem/rust-cache@v2
# with: { shared-key: "${{ runner.os }}" }
# - run: yarn --frozen-lockfile
# - run: yarn build-native-release && yarn build
# - run: yarn lint

build_native:
strategy:
matrix:
config:
- name: 🐥 Linux AMD64
os: linux
arch: amd64
runner: ubuntu-24.04

- name: 🐥 Linux ARM64
os: linux
arch: arm64
runner: ubuntu-24.04-arm

- name: 🍎 MacOS AMD64
os: macos
arch: amd64
runner: macos-13

- name: 🍎 MacOS ARM64
os: macos
arch: arm64
runner: macos-15

# - name: 🟦 Windows AMD64
# os: windows
# arch: amd64
# runner: windows-latest

name: ${{ matrix.config.name }}
runs-on: ${{ matrix.config.runner }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: ./.github/actions/rust-toolchain
- run: yarn --frozen-lockfile
- run: yarn build-native-release
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.config.os }}-${{ matrix.config.arch }}
path: ${{ github.workspace }}/packages/core/rust/*.node
if-no-files-found: error
retention-days: 1

build_flow:
name: 🔨 Build Flow
runs-on: ubuntu-24.04
needs: ["build_native"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/download-artifact@v4
with: { path: "${{ github.workspace }}/packages/core/rust" }
- run: yarn --frozen-lockfile
- run: yarn build
- run: yarn build-ts


publish-github-release:
name: "🔄 Publish Github Release"
runs-on: ubuntu-24.04
needs:
# - test_unit_js
# - test_unit_rs
# - test_integration
# - lint_and_format
- build_flow
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with: { path: artifacts }
- name: Publish` Github Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
set -e
TAG="$(date -u +"v%Y.%m.%d.%H%M").${GITHUB_SHA::4}"
echo "Tag: ${TAG}"
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
"test:js:coverage": "yarn nyc yarn test:js:unit",
"test:js:coverage:report": "yarn nyc report --reporter=html-spa",
"test:js:unit": "cross-env NODE_ENV=test mocha --conditions=\"@atlaspack::sources\" --timeout 5000",
"test:rs:unit": "cargo test",
"test:unit": "yarn test:js:unit && cargo test",
"dev:release": "SKIP_PLUGIN_COMPATIBILITY_CHECK=true lerna publish -y --canary --preid dev --dist-tag=dev --exact --force-publish=* --no-git-tag-version --no-push",
"canary:release": "SKIP_PLUGIN_COMPATIBILITY_CHECK=true lerna publish -y --canary --preid canary --dist-tag=canary --exact --force-publish=* --no-git-tag-version --no-push",
Expand Down
49 changes: 49 additions & 0 deletions scripts/package.bash
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
set -e

PATH_SCRIPT="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
PATH_ROOT=$(dirname $PATH_SCRIPT)

cd $PATH_ROOT/..

rm -rf atlaspack-bin

tar \
--exclude './atlaspack/benchmarks' \
--exclude './atlaspack/.parcel-cache' \
--exclude './atlaspack/.git' \
--exclude './atlaspack/target' \
--exclude './atlaspack/packages/core/integration-tests' \
--exclude './atlaspack/packages/examples' \
--exclude './atlaspack/packages/migrations' \
--exclude './atlaspack/packages/docs' \
--exclude './atlaspack/packages/flow-libs' \
--exclude './atlaspack/packages/flow-typed' \
--exclude './atlaspack/packages/patches' \
--exclude './atlaspack/packages/dev/repl' \
--exclude './atlaspack/packages/utils/atlaspackforvscode' \
--exclude './atlaspack/crates' \
-J -cvf \
./atlaspack.tar.xz ./atlaspack

# ll ./atlaspack-bin
# tar -czf ./atlaspack.tar.gz ./atlaspack-bin
du -sh --apparent-size ./atlaspack.tar.xz


tar \
--exclude './atlaspack/benchmarks' \
--exclude './atlaspack/.parcel-cache' \
--exclude './atlaspack/.git' \
--exclude './atlaspack/target' \
--exclude './atlaspack/packages/core/integration-tests' \
--exclude './atlaspack/packages/examples' \
--exclude './atlaspack/packages/migrations' \
--exclude './atlaspack/packages/docs' \
--exclude './atlaspack/packages/flow-libs' \
--exclude './atlaspack/packages/flow-typed' \
--exclude './atlaspack/packages/patches' \
--exclude './atlaspack/packages/dev/repl' \
--exclude './atlaspack/packages/utils/atlaspackforvscode' \
--exclude './atlaspack/crates' \
-J -cf \
./atlaspack-${{ matrix.config.os }}-${{ matrix.config.arch }}.tar.xz ./atlaspack

0 comments on commit 3c04853

Please sign in to comment.