From 639652480c3dbab2b2859926113ab26046bbee0b Mon Sep 17 00:00:00 2001 From: CahidArda Date: Thu, 3 Oct 2024 20:14:02 +0300 Subject: [PATCH] feat: add github workflows --- .github/workflows/release.yaml | 48 ++++++++++++++++++++++++++++++++++ .github/workflows/test.yaml | 29 ++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 .github/workflows/release.yaml create mode 100644 .github/workflows/test.yaml diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..6b19245 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,48 @@ +name: Release + +on: + release: + types: + - published + +jobs: + release: + name: Release + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@v3 + + - name: Set env + run: echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV + + - name: Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: Set package version + run: echo $(jq --arg v "${{ env.VERSION }}" '(.version) = $v' package.json) > package.json + + - name: Install Dependencies + run: bun install + + - name: Build + run: bun run build + + - name: Set NPM_TOKEN + run: npm set "//registry.npmjs.org/:_authToken" ${{ secrets.NPM_TOKEN }} + + - name: Publish + if: "!github.event.release.prerelease" + working-directory: ./dist + run: | + npm pkg delete scripts.prepare + npm publish --access public + + - name: Publish release candidate + if: "github.event.release.prerelease" + working-directory: ./dist + run: | + npm pkg delete scripts.prepare + npm publish --access public --tag=canary diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml new file mode 100644 index 0000000..ac672da --- /dev/null +++ b/.github/workflows/test.yaml @@ -0,0 +1,29 @@ +name: Tests +on: + pull_request: + +env: + QSTASH_TOKEN: ${{ secrets.QSTASH_TOKEN }} + +jobs: + local-tests: + runs-on: ubuntu-latest + + name: Upstash Workflow Tests + steps: + - name: Setup repo + uses: actions/checkout@v4 + + - name: Setup Bun + uses: oven-sh/setup-bun@v1 + with: + bun-version: latest + + - name: Install Dependencies + run: bun install + + - name: Run tests + run: bun run test + + - name: Build + run: bun run build