hackforla / hackforla/website

Implement "Keep-Alive" for Daniel Ridge bot so that Docker image will be updated

Open
#6,266 25 comments 0 reactions 0 assignees View on GitHub
Complexity: Large Feature: Docker ready for dev lead role: back end/devOps size: 2pt
Dominant language
JavaScript
Stars
363
Forks
872
Avg merge
2d 21h
Merged PRs (30d)
18

Description

### Overview
We need to implement a "Keepalive Workflow" for the Daniel Ridge bot so that it performs its function of checking the dependencies for the Docker image and when necessary, updating the Dockerfile, which triggers the process of updating our Docker hub image.

### Details
- The Daniel Ridge Bot repo [check-ghpages-versions](https://github.com/danielridgebot/check-ghpages-versions) contains scheduled workflows to automatically check the dependencies for the Docker image created from [ghpages-docker](https://github.com/hackforla/ghpages-docker). If dependencies are out of date, an issue is automatically created in github.com/hackforla/ops to update the ghphages-docker Dockerfile, which causes [ghpages-docker](https://github.com/hackforla/ghpages-docker) to build a new image and push it to Docker Hub.
- Due to inactivity, scheduled workflows in the Daniel Ridge Bot repo were disabled, and as a result, the Docker image has not been updated in over a year.
- In #5897 the recommendation was made to use the [Keepalive Workflow GitHub action](https://github.com/marketplace/actions/keepalive-workflow) to permanently enable the workflow [check-gh-pages-version.yml](https://github.com/danielridgebot/check-ghpages-versions/blob/main/.github/workflows/check-gh-pages-version.yml) workflow from check-ghpages-versions

### Action Items
- [ ] Clone the repository [check-ghpages-versions](https://github.com/danielridgebot/check-ghpages-versions).
- [ ] Read and understand [Daniel Ridge Bot Ops Wiki](https://github.com/hackforla/ops/wiki/@danielridgebot-Ops-Wiki), [Keep Alive Workflow](https://github.com/marketplace/actions/keepalive-workflow) and
[How To Use section of the Keep-Alive Workflow documentation](https://github.com/marketplace/actions/keepalive-workflow#how-to-use)
- [ ] Note the section "Moving the keepalive workflow into its own distinct job is strongly recommended for better security" and understand the sample code
- [ ] Incorporate the Keepalive Workflow GitHub action so that it will prevent workflows from being disabled due to inactivity in the repo
- [ ] For testing, modify both the workflows so that they create the issue in your repository
- [ ] `.github/workflows/check-ruby-version.yml`
- [ ] `.github/workflows/check-gh-pages-version.yml`
- [ ] create a PAT in your repository, then a secret called test_Daniel_Ridge_PAT and modify each workflow to use that secret in place of GH_TOKEN: ${{ secrets.Daniel_Ridge_PAT }}
- [ ] As described in [How To Use section of the Keep-Alive Workflow documentation](https://github.com/marketplace/actions/keepalive-workflow#how-to-use), workflow permissions must be set. Go to repository settings, Click on Actions > General. Update the "Workflow permissions" to "Read and write permissions". Click on save.
- [ ] On the wiki page https://github.com/hackforla/ops/wiki/@danielridgebot-Ops-Wiki, add a top-level bullet under `check-gh-pages-version,yml` explaning the addition of the KeepAlive Workflow action
- [ ] Test by running `.github/workflows/check-gh-pages-version.yml` and verify that the appropriate issues were created
- [ ] Restore the original secret in both workflows
- [ ] Create a PR in https://github.com/danielridgebot/check-ghpages-versions. Put this issue in "Questions/In Review" and apply the label "ready for dev lead".

### Resources/Instructions
[check-gh-pages-version.yml](https://github.com/danielridgebot/check-ghpages-versions/blob/main/.github/workflows/check-gh-pages-version.yml)
[Keep Alive Workflow](https://github.com/marketplace/actions/keepalive-workflow)
[How To Use section of the Keep-Alive Workflow documentation](https://github.com/marketplace/actions/keepalive-workflow#how-to-use)
- This issue was created from #5644

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.