name: CI Pipeline
on: push: branches: [main] pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm ci - run: npm test
name: CI Pipeline
on: push: branches: [main] pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm ci - run: npm test
name: CI Pipeline
on: push: branches: [main] pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '20' - run: npm ci - run: npm test
stages: - test - build test: stage: test image: node:20 script: - npm ci - npm test only: - main - merge_requests
stages: - test - build test: stage: test image: node:20 script: - npm ci - npm test only: - main - merge_requests
stages: - test - build test: stage: test image: node:20 script: - npm ci - npm test only: - main - merge_requests
strategy: matrix: node-version: [18, 20, 22] os: [ubuntu-latest, windows-latest]
strategy: matrix: node-version: [18, 20, 22] os: [ubuntu-latest, windows-latest]
strategy: matrix: node-version: [18, 20, 22] os: [ubuntu-latest, windows-latest]
- uses: actions/cache@v4 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- uses: actions/cache@v4 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
- uses: actions/cache@v4 with: path: ~/.npm key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
test: image: node:20 cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ script: - npm ci - npm test
test: image: node:20 cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ script: - npm ci - npm test
test: image: node:20 cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ script: - npm ci - npm test
build: image: docker:latest services: - docker:dind script: - docker build -t myapp . - docker push myapp
build: image: docker:latest services: - docker:dind script: - docker build -t myapp . - docker push myapp
build: image: docker:latest services: - docker:dind script: - docker build -t myapp . - docker push myapp
- name: Set up Docker Buildx uses: docker/setup-buildx-action@v3
- name: Build and push uses: docker/build-push-action@v5 with: context: . push: true tags: myapp:latest
- name: Set up Docker Buildx uses: docker/setup-buildx-action@v3
- name: Build and push uses: docker/build-push-action@v5 with: context: . push: true tags: myapp:latest
- name: Set up Docker Buildx uses: docker/setup-buildx-action@v3
- name: Build and push uses: docker/build-push-action@v5 with: context: . push: true tags: myapp:latest
env: API_KEY: ${{ secrets.API_KEY }}
env: API_KEY: ${{ secrets.API_KEY }}
env: API_KEY: ${{ secrets.API_KEY }}
variables: API_KEY: $CI_DEPLOY_TOKEN
variables: API_KEY: $CI_DEPLOY_TOKEN
variables: API_KEY: $CI_DEPLOY_TOKEN
./config.sh --url https://github.com/org/repo --token TOKEN
./run.sh
./config.sh --url https://github.com/org/repo --token TOKEN
./run.sh
./config.sh --url https://github.com/org/repo --token TOKEN
./run.sh
gitlab-runner register
gitlab-runner run
gitlab-runner register
gitlab-runner run
gitlab-runner register
gitlab-runner run
# GitHub
- uses: actions/checkout@v4 # GitLab equivalent
git clone $CI_REPOSITORY_URL
cd $CI_PROJECT_NAME
# GitHub
- uses: actions/checkout@v4 # GitLab equivalent
git clone $CI_REPOSITORY_URL
cd $CI_PROJECT_NAME
# GitHub
- uses: actions/checkout@v4 # GitLab equivalent
git clone $CI_REPOSITORY_URL
cd $CI_PROJECT_NAME