groups:
- name: es-entity
jobs:
- check-code
- tests
- release
- set-dev-version
jobs:
- name: check-code
serial: true
plan:
- in_parallel:
- { get: repo, trigger: true }
- { get: pipeline-tasks }
- task: check-code
config:
platform: linux
image_resource: inputs:
- name: repo
run:
path: sh
args:
- -exc
- |
set -euo pipefail
cd repo
cachix use $CACHIX_CACHE_NAME
cachix watch-exec $CACHIX_CACHE_NAME -- nix flake check
params:
CACHIX_AUTH_TOKEN: CACHIX_CACHE_NAME:
- name: tests
plan:
- in_parallel:
- get: repo
trigger: true
- { get: pipeline-tasks }
- task: tests
attempts: 2
privileged: true
config:
platform: linux
image_resource: inputs:
- name: repo
run:
path: sh
args:
- -exc
- |
set -euo pipefail
cd repo
cachix use $CACHIX_CACHE_NAME
cachix watch-exec $CACHIX_CACHE_NAME -- nix run .#nextest
params:
CACHIX_AUTH_TOKEN: CACHIX_CACHE_NAME: - name: release
serial: true
plan:
- in_parallel:
- get: repo
passed:
- check-code
- tests
- get: pipeline-tasks
- get: version
- task: prep-release
config:
platform: linux
image_resource: inputs:
- name: pipeline-tasks
- name: repo
- name: version
outputs:
- name: version
- name: artifacts
run:
path: pipeline-tasks/ci/vendor/tasks/prep-release-src.sh
- task: update-repo
config:
platform: linux
image_resource: inputs:
- name: artifacts
- name: pipeline-tasks
- name: repo
- name: version
outputs:
- name: repo
run:
path: pipeline-tasks/ci/tasks/update-repo.sh
- task: publish-to-crates
config:
image_resource: platform: linux
inputs:
- name: version
- name: pipeline-tasks
- name: repo
params:
CRATES_API_TOKEN: caches:
- path: cargo-home
- path: cargo-target-dir
run:
path: pipeline-tasks/ci/tasks/publish-to-crates.sh
- put: repo
params:
tag: artifacts/gh-release-tag
repository: repo
merge: true
- put: gh-release
params:
name: artifacts/gh-release-name
tag: artifacts/gh-release-tag
body: artifacts/gh-release-notes.md
- put: version
params:
file: version/version
- name: set-dev-version
plan:
- in_parallel:
- { get: repo, passed: [release] }
- { get: pipeline-tasks }
- get: version
trigger: true
params: { bump: patch }
passed: [release]
- task: set-dev-version
config:
image_resource: platform: linux
inputs:
- name: version
- name: repo
- name: pipeline-tasks
outputs:
- name: repo
run:
path: pipeline-tasks/ci/tasks/set-dev-version.sh
params:
BRANCH: - put: repo
params:
repository: repo
rebase: true
resources:
- - - -