Deplo System #39
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |