Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
igcherkaev committed Sep 7, 2022
2 parents 5048fc9 + 53d8436 commit f9e0415
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 100 deletions.
104 changes: 5 additions & 99 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,110 +1,16 @@
version: 2

jobs:
build_and_test_python36:
circleci_is_disabled_job:
docker:
- image: circleci/python:3.6
- image: rabbitmq:3
- image: mongo:3.4

working_directory: ~/repo

environment:
VIRTUALENV_DIR: "~/virtualenv"
# Don't install various StackStorm dependencies which are already
# installed by CI again in the various check scripts
ST2_INSTALL_DEPS: "0"

- image: cimg/base:stable
steps:
- checkout
- restore_cache:
key: v1-dependency-cache-py36-{{ checksum "requirements.txt" }}
- run:
name: Download dependencies
# NOTE: We don't want to use default "-e" option because this means
# step will fail immediately on one of the commands failures and we
# can't intercept the error and cause non-fatal exit in case pack
# doesn't declare support for Python 3
shell: /bin/bash
command: |
git clone -b master git://github.com/stackstorm-exchange/ci.git ~/ci
~/ci/.circle/dependencies ; ~/ci/.circle/exit_on_py3_checks $?
- run:
name: Run tests (Python 3.6)
# NOTE: We don't want to use default "-e" option because this means
# step will fail immediately on one of the commands failures and we
# can't intercept the error and cause non-fatal exit in case pack
# doesn't declare support for Python 3
shell: /bin/bash
command: ~/ci/.circle/test ; ~/ci/.circle/exit_on_py3_checks $?
- save_cache:
key: v1-dependency-cache-py36-{{ checksum "requirements.txt" }}
paths:
- ~/.cache/pip
- ~/.apt-cache
# NOTE: We use virtualenv files from Python 3.6 step in "deploy" job so we
# only persist paths from this job
- persist_to_workspace:
root: /
paths:
- home/circleci/ci
- home/circleci/virtualenv
- tmp/st2
- home/circleci/repo
- home/circleci/.gitconfig


deploy:
docker:
- image: circleci/python:3.6

working_directory: ~/repo

environment:
VIRTUALENV_DIR: "~/virtualenv"

steps:
- checkout
- restore_cache:
key: v1-dependency-cache-py36-{{ checksum "requirements.txt" }}
- attach_workspace:
at: /
- run:
name: Install dependencies
command: |
sudo apt-get update
sudo apt -y install gmic optipng
~/ci/.circle/install_gh
- run:
# NOTE: We try to retry the script up to 5 times if it fails. The command could fail due
# to the race (e.g. we try to push changes to index, but index has been updated by some
# other pack in the mean time)
name: Update exchange.stackstorm.org
command: ~/ci/.circle/retry_on_failure.sh ~/ci/.circle/deployment
command: echo CircleCI disabled on StackStorm-Exchange

workflows:
version: 2
# Workflow which runs on each push
build_test_deploy_on_push:
jobs:
- build_and_test_python36
- deploy:
requires:
- build_and_test_python36
filters:
branches:
only: master
build_test_weekly:
circleci_is_disabled:
jobs:
- build_and_test_python36
# Workflow which runs nightly - note we don't perform deploy job on nightly
# build
triggers:
# Run nightly build for the pack
- schedule:
# NOTE: We run it at 1 am UTC on every Saturday
cron: "0 1 * * 6"
filters:
branches:
only:
- master
- circleci_is_disabled_job
17 changes: 17 additions & 0 deletions .github/workflows/build_and_test.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: CI

on:
pull_request:
schedule:
# NOTE: We run this weekly at 1 am UTC on every Saturday
- cron: '0 1 * * 6'

jobs:
# This is mirrored in the release workflow.
build_and_test:
name: 'Build and Test'
uses: StackStorm-Exchange/ci/.github/workflows/pack-build_and_test.yaml@master
with:
enable-common-libs: true
#apt-cache-version: v0
#py-cache-version: v0
25 changes: 25 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Release

on:
push:
branches:
# the default branch
- master

permissions:
contents: write

jobs:
# This mirrors build_and_test workflow
build_and_test:
name: 'Build and Test'
uses: StackStorm-Exchange/ci/.github/workflows/pack-build_and_test.yaml@master
with:
enable-common-libs: true
#apt-cache-version: v0
#py-cache-version: v0

tag_release:
needs: build_and_test
name: Tag Release
uses: StackStorm-Exchange/ci/.github/workflows/pack-tag_release.yaml@master
4 changes: 4 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 2.1.1

* Bug fix (#43) where the sensor will throw an exception if no events are returned from the GitHub api.

## 2.1.0

* Add new ``github.create_pull`` action which allows user create Pull Requests for a branch.
Expand Down
4 changes: 3 additions & 1 deletion sensors/github_repository_sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,10 @@ def _process_repository(self, name, repository):
# Assume a default value of 30. Better for the sensor to operate with some
# default value in this case rather than raise an exception.
count = self._config['repository_sensor'].get('count', 30)
repository_events = repository.get_events()

events = list(repository.get_events()[:count])
events = list(repository_events[:count]) \
if repository_events.totalCount > count else list(repository_events)
events.sort(key=lambda _event: _event.id, reverse=False)

last_event_id = self._get_last_id(name=name)
Expand Down

0 comments on commit f9e0415

Please sign in to comment.