Skip to content

feat(arcor2_kinect): package dropped #78

feat(arcor2_kinect): package dropped

feat(arcor2_kinect): package dropped #78

Workflow file for this run

# cache from master branch can be shared with PR workflows
# see https://stackoverflow.com/a/71061281/3142796 and https://stackoverflow.com/a/66632107/3142796
name: Pants-update-cache
on:
push:
branches:
- master
jobs:
build:
env:
PANTS_CONFIG_FILES: pants.ci.toml
runs-on: ubuntu-22.04
strategy:
matrix:
python-version: ['3.11']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
lfs: true
- name: Get Pants version
id: pants_version
run: |
# Capture the "pants_version = " line from config.
PANTS_VERSION=$(grep -E '^pants_version\s*=' pants.toml)
echo "::set-output name=pants_version::$PANTS_VERSION"
- name: Checkout LFS objects
run: git lfs checkout
- uses: pat-s/always-upload-cache@v3 # default actions/cache is not saving cache on failure (e.g. when ./pants lint :: fails)
id: cache_pants_setup
with:
path: |
~/.cache/pants/setup
key: pants-setup-${{ steps.pants_version.outputs.pants_version }}
- uses: pat-s/always-upload-cache@v3
id: cached_named_caches
with:
path: |
~/.cache/pants/named_caches
# The Python backend uses named_caches for Pip/PEX state,
# so it is appropriate to invalidate on requirements.txt changes.
key: pants-named-caches-${{ runner.os }}-${{ hashFiles('pants.toml') }}-${{ hashFiles('requirements.txt') }}
# Note that falling back to a restore key may give a useful partial result that will save time
# over completely clean state, but will cause the cache entry to grow without bound over time.
# See https://pants.readme.io/docs/using-pants-in-ci for tips on how to periodically clean it up.
# Alternatively you may want to avoid using restore keys.
restore-keys: |
pants-named-caches-${{ runner.os }}-${{ hashFiles('pants.toml') }}-${{ hashFiles('requirements.txt') }}
pants-named-caches-${{ runner.os }}-${{ hashFiles('pants.toml') }}-
pants-named-caches-${{ runner.os }}-
# If you're not using a fine-grained remote caching service (see https://www.pantsbuild.org/docs/remote-caching),
# then you may also want to preserve the local Pants cache (lmdb_store). However this must invalidate for
# changes to any file that can affect the build, so may not be practical in larger repos.
# A remote cache service integrates with Pants's fine-grained invalidation and avoids these problems.
- uses: pat-s/always-upload-cache@v3
id: cache_lmdb_store
with:
path: |
~/.cache/pants/lmdb_store
key: pants-lmdb-store-${{ runner.os }}-${{ hashFiles('**/*') }}
# Same caveat as above regarding the issues with restore keys.
restore-keys: pants-lmdb-store-${{ runner.os }}-
- name: Prune pants cache
run: |
./build-support/nuke-cache.sh
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: bootstrap
run: |
pants --version
- name: install system dependencies
run: |
sudo ./build-support/install_kinect_prerequisites.sh
sudo apt install jq cargo
- name: Get dependencies
run: |
pants export
- name: Upload pants log
uses: actions/upload-artifact@v4
with:
name: pants-log
path: .pants.d/pants.log
if: always() # We want the log even on failures.