diff --git a/.forgejo/workflows/publish.yml b/.forgejo/workflows/publish.yml index c9428ce..a09d07b 100644 --- a/.forgejo/workflows/publish.yml +++ b/.forgejo/workflows/publish.yml @@ -31,8 +31,6 @@ jobs: node-version: 20.x - run: yarn install --frozen-lockfile - run: yarn build - - run: yarn package - - run: cp -r ./bin ${{ secrets.PROD_REPO_PATH }} - uses: https://github.com/JS-DevTools/npm-publish@v3 with: token: ${{ secrets.NPM_TOKEN }} \ No newline at end of file diff --git a/.forgejo/workflows/staging.yml b/.forgejo/workflows/staging.yml deleted file mode 100644 index 94f3fce..0000000 --- a/.forgejo/workflows/staging.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Stage - -on: - push: - branches: - - develop - -jobs: - build: - - runs-on: node - - steps: - - uses: actions/checkout@v4 - - name: Use Node.js - uses: actions/setup-node@v4 - with: - node-version: 20.x - - run: yarn install --frozen-lockfile - - run: yarn build - - run: yarn test - - run: yarn lint - - rsync: - needs: build - runs-on: node - steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 - with: - node-version: 20.x - - run: yarn install --frozen-lockfile - - run: yarn build - - run: yarn package - - run: cp -r ./bin ${{ secrets.STAGE_REPO_PATH }} \ No newline at end of file diff --git a/.forgejo/workflows/test.yml b/.forgejo/workflows/test.yml index a70e410..b5ff0f5 100644 --- a/.forgejo/workflows/test.yml +++ b/.forgejo/workflows/test.yml @@ -7,6 +7,7 @@ on: - hotfix/* - renovate/* - dependabot/* + - develop jobs: build: diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..c25343c --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,92 @@ +steps: + build: + # Build and test + image: node + commands: + - yarn install --frozen-lockfile + - yarn build + when: + event: [ push, pull_request ] + branch: [ hotfix/*, feature/*, renovate/*, develop, main ] + lint: + image: node + commands: + - yarn lint + when: + event: [ push, pull_request ] + branch: [ hotfix/*, feature/*, renovate/*, develop, main ] + test: + image: node + commands: + - yarn test + when: + event: [ push, pull_request ] + branch: [ hotfix/*, feature/*, renovate/*, develop, main ] + + # Package production build + package_prod: + image: node + commands: + - apt install unzip -y + - wget https://github.com/xerub/ldid/releases/download/42/ldid.zip + - unzip ldid.zip + - mkdir /opt/ldid/ + - cp linux64/ldid /opt/ldid/ + - export PATH=/opt/ldid:$PATH + - yarn package + when: + event: tag + branch: main + rsync_prod: + image: alpine + secrets: [ ssh_key ] + commands: + - apk add rsync openssh-client + - eval `ssh-agent -s` + - echo "$SSH_KEY" | tr -d '\r' | ssh-add - + - rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.1.115:/home/vylpes/apps/random-bunny/random-bunny_prod + when: + event: tag + branch: main + + # Package stage build + package_stage: + image: node + commands: + - apt install unzip -y + - wget https://github.com/xerub/ldid/releases/download/42/ldid.zip + - unzip ldid.zip + - mkdir /opt/ldid/ + - cp linux64/ldid /opt/ldid/ + - export PATH=/opt/ldid:$PATH + - yarn package + when: + event: push + branch: develop + rsync_stage: + image: alpine + secrets: [ ssh_key ] + commands: + - apk add rsync openssh-client + - eval `ssh-agent -s` + - echo "$SSH_KEY" | tr -d '\r' | ssh-add - + - rsync -e "ssh -o StrictHostKeyChecking=no" -r ./bin vylpes@192.168.1.115:/home/vylpes/apps/random-bunny/random-bunny_stage + when: + event: push + branch: develop + + # Publish to NPM + publish: + image: plugins/npm + settings: + username: + from_secret: NPM_USERNAME + email: + from_secret: NPM_EMAIL + password: + from_secret: NPM_PASSWORD + api_key: + from_secret: NPM_TOKEN + when: + event: tag + branch: main