12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- name: dev env
- on:
- pull_request:
- paths:
- - '.pre-commit-config.yaml'
- - 'Makefile'
- - '.github/actions/*'
- - '.github/workflows/development-environment.yml'
- - '.envrc'
- - 'Brewfile'
- - 'scripts/*'
- - 'src/sentry/runner/commands/devserver.py'
- - 'src/sentry/runner/commands/devservices.py'
- jobs:
- dev-environment:
- name: dev docs set up
- runs-on: ${{ matrix.os }}
- timeout-minutes: 40
- strategy:
- matrix:
- # Using Ubuntu 18 until I figure out this error:
- # -> ImportError: libffi.so.6: cannot open shared object file: No such file or directory
- os: [macos-11.0, ubuntu-18.04]
- python-version: [3.8.12]
- fail-fast: false
- env:
- PIP_DISABLE_PIP_VERSION_CHECK: on
- # Make the environment more similar to what Mac defaults to
- SHELL: /bin/zsh
- steps:
- - name: Checkout sentry
- uses: actions/checkout@v2
- - name: Set variables for caches
- id: info
- run: |
- echo "::set-output name=brew-cache-dir::$(brew --cache)"
- echo "::set-output name=yarn-cache-dir::$(yarn cache dir)"
- - name: Cache (brew)
- uses: actions/cache@v2
- with:
- path: ${{ steps.info.outputs.brew-cache-dir }}
- key: devenv-${{ runner.os }}-brew-${{ hashFiles('Brewfile') }}
- restore-keys: devenv-${{ runner.os }}-brew
- - name: Install prerequisites
- # brew can be finicky but it does not always means that the rest of the job will fail
- # Xcode CLI & brew are already installed, thus, no need to call xcode-select install
- continue-on-error: true
- run: |
- make prerequisites
- - name: Setup Python ${{ matrix.python-version }}
- uses: ./.github/actions/setup-python
- with:
- python-version: ${{ matrix.python-version }}
- - name: Cache (pyenv)
- uses: actions/cache@v2
- with:
- path: ~/.pyenv
- key: devenv-${{ matrix.os }}-pyenv-${{ hashFiles('.python-version') }}
- - name: Cache (yarn)
- uses: actions/cache@v1 # We are explicitly using v1 due to perf reasons
- with:
- path: ${{ steps.info.outputs.yarn-cache-dir }}
- key: devenv-${{ matrix.os }}-v2-yarn-${{ hashFiles('yarn.lock') }}
- - name: Set up development environment (mostly as per docs)
- run: |
- curl https://get.volta.sh | bash
- export VOLTA_HOME="$HOME/.volta"
- export PATH="$HOME/.volta/bin:$PATH"
- make setup-pyenv
- eval "$(pyenv init --path)"
- python -m venv .venv
- source .venv/bin/activate
- make develop init-config
- bootstrap-script:
- runs-on: macos-11
- timeout-minutes: 45
- env:
- PIP_DISABLE_PIP_VERSION_CHECK: on
- # Make the environment more similar to what Mac defaults to
- SHELL: /bin/zsh
- steps:
- - name: Run bootstrap code
- env:
- STRAP_DEBUG: 1
- run: |
- bash <(curl -s https://raw.githubusercontent.com/getsentry/bootstrap-sentry/main/bootstrap.sh)
|