diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..083503a --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @sikkzz @lgrin-byte \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..8868ca9 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,44 @@ +name: CI + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + +on: + pull_request: + branches: + - develop + +jobs: + ci: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "yarn" + + - name: Set yarn version + id: set-version + run: | + yarn set version 4.1.1 + echo "YARN_VERSION=$(yarn -v)" >> $GITHUB_OUTPUT + + - name: Yarn cache - PnP + uses: actions/cache@v4 + with: + path: | + .yarn/cache + .pnp.* + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ steps.set-version.outputs.YARN_VERSION }} + restore-keys: | + ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}- + + - name: Install dependencies + run: yarn + + - name: Run build + run: yarn build diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..5040f67 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,85 @@ +name: Deploy + +env: + VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }} + +on: + pull_request: + types: + - closed + branches: + - develop + +jobs: + project-build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "yarn" + + - name: Set yarn version + id: set-version + run: | + yarn set version 4.1.1 + echo "YARN_VERSION=$(yarn -v)" >> $GITHUB_OUTPUT + + - name: Yarn cache - PnP + uses: actions/cache@v4 + with: + path: | + .yarn/cache + .pnp.* + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ steps.set-version.outputs.YARN_VERSION }} + restore-keys: | + ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}- + + - name: Install dependencies + run: yarn + + - name: Run build + run: yarn build + + deploy-to-vercel: + runs-on: ubuntu-latest + needs: project-build + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup node + uses: actions/setup-node@v4 + with: + node-version: 18 + cache: "yarn" + + - name: Set yarn version + id: set-version + run: | + yarn set version 4.1.1 + echo "YARN_VERSION=$(yarn -v)" >> $GITHUB_OUTPUT + + - name: Yarn cache - PnP + uses: actions/cache@v4 + with: + path: | + .yarn/cache + .pnp.* + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}-${{ steps.set-version.outputs.YARN_VERSION }} + restore-keys: | + ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}- + + - name: Install dependencies + run: yarn + + - name: Deploy to Vercel + run: | + npm install --global vercel@latest + vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }}