diff --git a/.github/build-and-publish-state.yml b/.github/build-and-publish-state.yml new file mode 100644 index 0000000..1feec02 --- /dev/null +++ b/.github/build-and-publish-state.yml @@ -0,0 +1,30 @@ +name: Build and Publish Yarn Package + +# Trigger workflow on pushes of version tags (e.g. "v1.0.0") +on: + pull_request: + branches: [main] + +jobs: + publish: + runs-on: ubuntu-latest + steps: + # Check out the repository + - name: Checkout repository + uses: actions/checkout@v4 + + # Set up Node.js with Yarn, caching Yarn dependencies. + + - name: Use Node.js + working-directory: ./prompt-shared-state + uses: actions/setup-node@v4 + with: + node-version: '23.x' + + - name: Install dependencies + working-directory: ./prompt-shared-state + run: yarn --frozen-lockfile + + - name: Build package + working-directory: ./prompt-shared-state + run: yarn build diff --git a/.github/publish-state-package.yml b/.github/publish-state-package.yml new file mode 100644 index 0000000..f4204b5 --- /dev/null +++ b/.github/publish-state-package.yml @@ -0,0 +1,35 @@ +name: Publish Package to github +on: + release: + types: [published] +jobs: + build: + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + # Check out the repository + - name: Checkout repository + uses: actions/checkout@v4 + + - uses: actions/setup-node@v4 + working-directory: ./prompt-shared-state + with: + node-version: '23.x' + registry-url: 'https://npm.pkg.github.com' + scope: '@ls1tum' + + - name: Install dependencies + working-directory: ./prompt-shared-state + run: yarn --frozen-lockfile + + - name: Build package + working-directory: ./prompt-shared-state + run: yarn build + + - run: yarn npm publish + working-directory: ./prompt-shared-state + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/prompt-shared-state/package.json b/prompt-shared-state/package.json index 8540b14..68dea43 100644 --- a/prompt-shared-state/package.json +++ b/prompt-shared-state/package.json @@ -1,6 +1,9 @@ { - "name": "prompt-shared-state", + "name": "@ls1tum/prompt-shared-state", "version": "0.0.1", + "publishConfig": { + "registry": "https://npm.pkg.github.com" + }, "main": "./dist/esm/index.js", "module": "./dist/esm/index.js", "types": "./dist/types/index.d.ts",