{"id":19837412,"url":"https://github.com/e-e-e/circleci-status-screen","last_synced_at":"2025-02-28T18:47:15.349Z","repository":{"id":50215200,"uuid":"118071917","full_name":"e-e-e/circleci-status-screen","owner":"e-e-e","description":"a script to display circle ci status on a 64x32 LED display","archived":false,"fork":false,"pushed_at":"2022-12-08T00:51:06.000Z","size":19,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T11:14:09.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/e-e-e.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-19T03:30:54.000Z","updated_at":"2018-01-19T03:31:05.000Z","dependencies_parsed_at":"2023-01-24T01:25:13.125Z","dependency_job_id":null,"html_url":"https://github.com/e-e-e/circleci-status-screen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fcircleci-status-screen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fcircleci-status-screen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fcircleci-status-screen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/e-e-e%2Fcircleci-status-screen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/e-e-e","download_url":"https://codeload.github.com/e-e-e/circleci-status-screen/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241202460,"owners_count":19926613,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T12:14:21.263Z","updated_at":"2025-02-28T18:47:15.318Z","avatar_url":"https://github.com/e-e-e.png","language":"Python","readme":"# circleci-status-screen\n\nA script to show circle ci build status on a 32 x 64 LED matrix.\n\nLook at this [Adafruit Tutorial](https://learn.adafruit.com/adafruit-rgb-matrix-plus-real-time-clock-hat-for-raspberry-pi/driving-matrices) for instructions on setting up the required hardware.\n\n# Installation\n\nRequires Python v2.7+\n\nClone this repo.\n\n```\ngit clone https://github.com/e-e-e/circleci-status-screen\n```\n\n## Configure\n\nThis script loads environment variables from a .env file.\nCreate a `.env` file with the circleci-status-screen director.\n\n**.env example**\n```\nPI=true # Include this variable only on the Raspberry Pi\nCIRCLE_API_TOKEN=your_circle_api_token\nUSER_NAME=your_circleci_user\nREPO_NAME=the_repository\n```\n\n## On a Raspberry Pi\n\n### Install required dependencies\n\n```sh\nsudo apt-get update\nsudo apt-get install python-dev python-imaging\nsudo pip install circleclient python-dotenv\n```\n\n### Install and make [rpi-rgb-led-matrix](https://github.com/adafruit/rpi-rgb-led-matrix) driver\n\n```sh\nwget https://github.com/adafruit/rpi-rgb-led-matrix/archive/master.zip\nunzip master.zip\ncd rpi-rgb-led-matrix\nmake\n# copy compiled code to your circleci-status-screen directory\ncp ./rgbmatric.so ../circleci-status-screen\n```\n\n### Run\n\n#### To run quick and easily:\n\n```sh\ncd cicleci-status-screen\nsudo python status.py # sudo is required to access the GPIO pins on the pi\n```\n\n### Or automatically start on start up:\n\nMake new file `circleci.service` within `/lib/systemd/system/`\n```sh\nsudo vim /lib/systemd/system/circleci.service\n```\n**circleci.service**\n```systemd\n[Unit]\nDescription=Circle ci status board\nAfter=multi-user.target network-online.target time-sync.target timers.target\n\n[Service]\nType=idle\nExecStartPre=/bin/sleep 60\nExecStart=/usr/bin/python -u /home/pi/circleci-status-screen/status.py\nStandardOutput=inherit\nStandardError=inherit\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target\n```\n\nSet permissions correctly for the service file.\n```sh\nsudo chmod 644 /lib/systemd/system/myscript.service\n```\n\nThen enable the service\n\n```sh\nsudo systemctl daemon-reload\nsudo systemctl enable circleci.service\n```\n\n### Raspberry PI Nightmares\n\nWe found that a number of raspberry pi instabilities caused us issues.\n\nIf using WiFi:\n\n1. Turn off power management for wlan0.\n2. Ensure that wifi is set to your countries region.\n\nIf using systemd, also ensure `ExecStartPre=/bin/sleep 60` is added to your service. We found that if the python script started before the pi synced time, the process would hang.\n\n## Without the RPI or LED matrix\n\nYou can run this code without the display simply by\n\n```sh\nvirtualenv -p python2 env\nsource ./env/bin.activate\npip install pipenv\npipenv install\npython status.py\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe-e-e%2Fcircleci-status-screen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fe-e-e%2Fcircleci-status-screen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fe-e-e%2Fcircleci-status-screen/lists"}