Skip to content

Deplo System

Deplo System #39

Workflow file for this run

# generated by deplo CLI https://github.com/suntomi/deplo don't edit by hand.
name: Deplo System
on:
workflow_dispatch:
inputs:
id: # unique id
required: true
workflow: # key of [workflows] and integrate/deploy
required: true
context: # due to workflow
required: true
exec: # envs, verbosity, release_target, follow_dependency
required: true
command: # space separated command args for deplo run sh
required: false
job:
required: true
type: choice
options:
- base
- builder
- config
- dispatched
- latest
- mac
- module_test
- product
- remote-test
- repository
- taglab
- test
- win
env:
DEPLO_GHACTION_CI_ID: ${{ github.run_id }}-${{ github.run_attempt }}
DEPLO_GHACTION_EVENT_DATA: ${{ toJson(github) }}
DEPLO_GHACTION_WORKFLOW_NAME: ${{ github.workflow }}
DEPLO_OVERWRITE_EXEC_OPTIONS: ${{ github.event.inputs.exec }}
DEPLO_CI_START_DEBUG_DEFAULT: ${{ vars.DEPLO_CI_START_DEBUG_DEFAULT }}
DEPLO_CI_RUN_DEBUGGER: "true"
SUNTOMI_AWS_ROLE: ${{ secrets.SUNTOMI_AWS_ROLE }}
SUNTOMI_VCS_ACCOUNT: ${{ secrets.SUNTOMI_VCS_ACCOUNT }}
SUNTOMI_VCS_ACCOUNT_EMAIL: ${{ secrets.SUNTOMI_VCS_ACCOUNT_EMAIL }}
SUNTOMI_VCS_ACCOUNT_KEY: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
SUNTOMI_VCS_APP_ID: ${{ secrets.SUNTOMI_VCS_APP_ID }}
SUNTOMI_VCS_APP_PKEY: ${{ secrets.SUNTOMI_VCS_APP_PKEY }}
jobs:
deplo-main:
name: Start CI ${{ github.event.inputs.id }}
runs-on: ubuntu-latest
outputs:
base: ${{ steps.deplo-main.outputs.base }}
builder: ${{ steps.deplo-main.outputs.builder }}
config: ${{ steps.deplo-main.outputs.config }}
dispatched: ${{ steps.deplo-main.outputs.dispatched }}
latest: ${{ steps.deplo-main.outputs.latest }}
mac: ${{ steps.deplo-main.outputs.mac }}
module_test: ${{ steps.deplo-main.outputs.module_test }}
product: ${{ steps.deplo-main.outputs.product }}
remote-test: ${{ steps.deplo-main.outputs.remote-test }}
repository: ${{ steps.deplo-main.outputs.repository }}
taglab: ${{ steps.deplo-main.outputs.taglab }}
test: ${{ steps.deplo-main.outputs.test }}
win: ${{ steps.deplo-main.outputs.win }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: Boot deplo
id: deplo-main
run: deplo boot
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
deplo-halt:
name: Cleanup CI
if: ${{ !failure() && (needs.base.outputs.need-cleanup || needs.builder.outputs.need-cleanup || needs.config.outputs.need-cleanup || needs.dispatched.outputs.need-cleanup || needs.latest.outputs.need-cleanup || needs.mac.outputs.need-cleanup || needs.module_test.outputs.need-cleanup || needs.product.outputs.need-cleanup || needs.remote-test.outputs.need-cleanup || needs.repository.outputs.need-cleanup || needs.taglab.outputs.need-cleanup || needs.test.outputs.need-cleanup || needs.win.outputs.need-cleanup) }}
needs: ["deplo-main","base","builder","config","dispatched","latest","mac","module_test","product","remote-test","repository","taglab","test","win"]
runs-on: ubuntu-latest
env:
DEPLO_JOB_SYSTEM_OUTPUT_BASE: ${{ needs.base.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_BUILDER: ${{ needs.builder.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_CONFIG: ${{ needs.config.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_DISPATCHED: ${{ needs.dispatched.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_LATEST: ${{ needs.latest.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_MAC: ${{ needs.mac.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_MODULE_TEST: ${{ needs.module_test.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_PRODUCT: ${{ needs.product.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_REMOTE_TEST: ${{ needs.remote-test.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_REPOSITORY: ${{ needs.repository.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_TAGLAB: ${{ needs.taglab.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_TEST: ${{ needs.test.outputs.system }}
DEPLO_JOB_SYSTEM_OUTPUT_WIN: ${{ needs.win.outputs.system }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: false
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: Halt deplo
id: deplo-halt
run: deplo halt
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
base:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.base && !failure() }}
name: Running job base
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-base.outputs.need-cleanup }}
system: ${{ steps.deplo-job-base.outputs.system }}
user: ${{ steps.deplo-job-base.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: base
id: deplo-job-base
run: deplo run base
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
builder:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.builder && !failure() }}
name: Running job builder
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-builder.outputs.need-cleanup }}
system: ${{ steps.deplo-job-builder.outputs.system }}
user: ${{ steps.deplo-job-builder.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: builder
id: deplo-job-builder
run: deplo run builder
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
config:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.config && !failure() }}
name: Running job config
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-config.outputs.need-cleanup }}
system: ${{ steps.deplo-job-config.outputs.system }}
user: ${{ steps.deplo-job-config.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: config
id: deplo-job-config
run: deplo run config
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
dispatched:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.dispatched && !failure() }}
name: Running job dispatched
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-dispatched.outputs.need-cleanup }}
system: ${{ steps.deplo-job-dispatched.outputs.system }}
user: ${{ steps.deplo-job-dispatched.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: dispatched
id: deplo-job-dispatched
run: deplo run dispatched
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
latest:
needs: ["product","deplo-main"]
if: ${{ needs.deplo-main.outputs.latest && !failure() }}
name: Running job latest
runs-on: ubuntu-latest
env:
DEPLO_JOB_USER_OUTPUT_PRODUCT: ${{ needs.product.outputs.user }}
outputs:
need-cleanup: ${{ steps.deplo-job-latest.outputs.need-cleanup }}
system: ${{ steps.deplo-job-latest.outputs.system }}
user: ${{ steps.deplo-job-latest.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: latest
id: deplo-job-latest
run: deplo run latest
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
mac:
needs: ["product","deplo-main"]
if: ${{ needs.deplo-main.outputs.mac && !failure() }}
name: Running job mac
runs-on: macos-latest
env:
DEPLO_JOB_USER_OUTPUT_PRODUCT: ${{ needs.product.outputs.user }}
outputs:
need-cleanup: ${{ steps.deplo-job-mac.outputs.need-cleanup }}
system: ${{ steps.deplo-job-mac.outputs.system }}
user: ${{ steps.deplo-job-mac.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Darwin -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: Cache cargo
id: deplo-cache-cargo
uses: actions/cache@v4
with:
path: |
target
~/.cargo/bin
~/.cargo/registry/cache
~/.cargo/registry/index
~/.cargo/git/db
key: deploy-build-${{ runner.os }}-v1-${{ hashFiles('**/Cargo.lock') }}
restore-keys:
deploy-build-${{ runner.os }}-v1-
- name: Mark cache result
if: steps.deplo-cache-cargo.outputs.cache-hit == 'true'
run: echo "DEPLO_CACHE_CARGO_HIT=true" >> $GITHUB_ENV
- name: mac
id: deplo-job-mac
run: deplo run mac
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
module_test:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.module_test && !failure() }}
name: Running job module_test
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-module_test.outputs.need-cleanup }}
system: ${{ steps.deplo-job-module_test.outputs.system }}
user: ${{ steps.deplo-job-module_test.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: module_test
id: deplo-job-module_test
run: deplo run module_test
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
product:
needs: ["builder","deplo-main"]
if: ${{ needs.deplo-main.outputs.product && !failure() }}
name: Running job product
runs-on: ubuntu-latest
env:
DEPLO_JOB_USER_OUTPUT_BUILDER: ${{ needs.builder.outputs.user }}
outputs:
need-cleanup: ${{ steps.deplo-job-product.outputs.need-cleanup }}
system: ${{ steps.deplo-job-product.outputs.system }}
user: ${{ steps.deplo-job-product.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: product
id: deplo-job-product
run: deplo run product
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
remote-test:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.remote-test && !failure() }}
name: Running job remote-test
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-remote-test.outputs.need-cleanup }}
system: ${{ steps.deplo-job-remote-test.outputs.system }}
user: ${{ steps.deplo-job-remote-test.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: remote-test
id: deplo-job-remote-test
run: deplo run remote-test
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
repository:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.repository && !failure() }}
name: Running job repository
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-repository.outputs.need-cleanup }}
system: ${{ steps.deplo-job-repository.outputs.system }}
user: ${{ steps.deplo-job-repository.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: repository
id: deplo-job-repository
run: deplo run repository
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
taglab:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.taglab && !failure() }}
name: Running job taglab
runs-on: ubuntu-latest
outputs:
need-cleanup: ${{ steps.deplo-job-taglab.outputs.need-cleanup }}
system: ${{ steps.deplo-job-taglab.outputs.system }}
user: ${{ steps.deplo-job-taglab.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: taglab
id: deplo-job-taglab
run: deplo run taglab
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
test:
needs: [deplo-main]
if: ${{ needs.deplo-main.outputs.test && !failure() }}
name: Running job test
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
outputs:
need-cleanup: ${{ steps.deplo-job-test.outputs.need-cleanup }}
system: ${{ steps.deplo-job-test.outputs.system }}
user: ${{ steps.deplo-job-test.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Linux-$(uname -m) -o /usr/local/bin/deplo
chmod +x /usr/local/bin/deplo
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: Cache cargo
id: deplo-cache-cargo
uses: actions/cache@v4
with:
path: |
target
~/.cargo/bin
~/.cargo/registry/cache
~/.cargo/registry/index
~/.cargo/git/db
key: integrate-build-${{ runner.os }}-v1-${{ hashFiles('**/Cargo.lock') }}
- name: Mark cache result
if: steps.deplo-cache-cargo.outputs.cache-hit == 'true'
run: echo "DEPLO_CACHE_CARGO_HIT=true" >> $GITHUB_ENV
- name: test
id: deplo-job-test
run: deplo run test
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true
win:
needs: ["product","deplo-main"]
if: ${{ needs.deplo-main.outputs.win && !failure() }}
name: Running job win
runs-on: windows-latest
env:
DEPLO_JOB_USER_OUTPUT_PRODUCT: ${{ needs.product.outputs.user }}
outputs:
need-cleanup: ${{ steps.deplo-job-win.outputs.need-cleanup }}
system: ${{ steps.deplo-job-win.outputs.system }}
user: ${{ steps.deplo-job-win.outputs.user }}
steps:
- name: Fetch deplo cli
run: |
curl -L https://github.com/suntomi/deplo/releases/download/nightly/deplo-Windows.exe -o /usr/bin/deplo
chmod +x /usr/bin/deplo
shell: bash
- name: Fetch repository cache
id: fetch-repository-cache
uses: actions/cache@v4
with:
path: .git
key: deplo-git-v1-40BFB0C55D506BC4-${{ github.sha }}
restore-keys:
deplo-git-v1-40BFB0C55D506BC4-
- name: Checkout
if: steps.fetch-repository-cache.outputs.cache-hit != 'true'
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
token: ${{ secrets.SUNTOMI_VCS_ACCOUNT_KEY }}
- name: Restore repository from cache
if: steps.fetch-repository-cache.outputs.cache-hit == 'true'
run: git reset --hard HEAD && git submodule update --init --recursive && deplo -v=1 ci restore-cache --submodules
- name: Cache cargo
id: deplo-cache-cargo
uses: actions/cache@v4
with:
path: |
target
~/.cargo/bin
~/.cargo/registry/cache
~/.cargo/registry/index
~/.cargo/git/db
key: deploy-build-${{ runner.os }}-v1-${{ hashFiles('**/Cargo.lock') }}
restore-keys:
deploy-build-${{ runner.os }}-v1-
- name: Mark cache result
if: steps.deplo-cache-cargo.outputs.cache-hit == 'true'
run: echo "DEPLO_CACHE_CARGO_HIT=true" >> $GITHUB_ENV
- name: win
id: deplo-job-win
run: deplo run win
shell: bash
- name: Setup ssh session to debug
if: always() && (env.DEPLO_CI_RUN_DEBUGGER != '')
uses: mxschmitt/action-tmate@v3
with:
sudo: true