Skip to content

Instantly share code, notes, and snippets.

View armandofox's full-sized avatar

Armando Fox armandofox

View GitHub Profile
@armandofox
armandofox / env.rb
Created April 17, 2025 21:04
Running headless ChromeForTesting for your Cuke/Capybara tests
# This setup in features/support/env.rb works both locally in and CI for me.
# IN your Gemfile's `test` environment, add
# gem 'simplecov-json', require: false
# and run `bundle install` to get it.
# these steps must be at very top of features/support/env.rb *and* spec/rails_helper.rb:
require 'simplecov'
SimpleCov.start 'rails'
if ENV['CCTR'] # are we running in CI or locally? (see gist [https://gist.github.com/armandofox/6273653fa68744d720842e6a6e5be04f] )
@armandofox
armandofox / ci.yml
Last active April 17, 2025 21:05
Getting coverage working with CodeClimate in CI
# make CCTR an alias for './cc-test-reporter'
# NOTE: the other gist [https://gist.github.com/armandofox/29d09a904c08c26f5e50cea60219f2fc]
# showing env.rb relies on checking $CCTR to see if it is set,
# as a way to know whether we are running in CI or locally.
runs-on: ubuntu-latest
env:
CCTR: ./cc-test-reporter
BUNDLE_WITHOUT: production
TZ: America/Los_Angeles
- name: Install Chrome For Testing and Chromedriver
uses: browser-actions/setup-chrome@v1
id: install-chromedriver
with:
chrome-version: stable
install-chromedriver: true
install-dependencies: true
- name: run Cucumber tests using config/cucumber.yml options, and capture coverage
env:
@armandofox
armandofox / env.rb
Created April 7, 2025 18:43
env.rb stuff to include selenium/webdriver using headless ChromeForTesting
# must have compatible versions of chromedriver and chrome-for-testing (headless) installed:
# Download a specific Chrome for Testing version:
# npx @puppeteer/browsers install [email protected]
# Download a specific ChromeDriver version:
# npx @puppeteer/browsers install [email protected]
# (Note: these 'installs' just put stuff in the $cwd. brew install may be better)
path_to_chromedriver = ENV['CHROMEDRIVER_PATH'] ||
`find ~+/tmp -type f -name 'chromedriver'`.chomp
@armandofox
armandofox / various.files.yml
Created April 4, 2025 22:10
Enabling Cucumber reporting in CI and your development workflows
## in config/cucumber.yml, define one or more profiles. use a profile by saying
## `cucumber --profile ci` etc. If you omit arg, 'default' profile is used.
## Because it's eRB, you can use a variable for options common to all profiles.
## The important option is `--publish` which causes report to publish to reports.cucumber.io
<%
common = %q{-m -i --require features --tags 'not @wip'}
%>
default: <%= common %> --format pretty --format rerun --out rerun.txt --publish
ci-report: <%= common %> --format pretty --retry 2 --publish
@armandofox
armandofox / infoAssessment.json
Last active February 7, 2025 02:24
Example infoAssessment.json for allowing students to upload personal cheatsheets for use during CBTF exams
//
// NOTE: delete all lines beginning with '//' before using--the file
// will cause errors otherwise!
//
{
// replace the following with a real uuid, as always
"uuid": "99999999-8888-7777-6666-555544443333",
"type": "Homework",
"title": "Quiz 1 Cheatsheet",
"set": "Personal Cheatsheets",
@armandofox
armandofox / question.html
Created February 7, 2025 02:19
Example question.html for student to upload personal cheatsheet. See detailed instructions in CBTF Course Staff Handbook
<pl-question-panel>
Instructions on what makes a valid cheatsheet go here.
Name your cheatsheet "cheatsheet.pdf" and use the panel below to upload it.
</pl-question-panel>
<pl-file-upload file-names="cheatsheet.pdf">
</pl-file-upload>
@armandofox
armandofox / infoAssessment.json
Last active March 11, 2025 17:19
infoAssessment.json for CBTF Orientation quiz. Copy this file into its own subdirectory under the `assessments/` directory of the appropriate courseInstance of your PrairieLearn course. Change line 2 to contain an actual UID, which you can generate using the command line `uuidgen` on Mac/Unix-like systems or from the website https://www.uuidgene…
{
"uuid": "REPLACE WITH A UUID",
"type": "Homework",
"allowAccess": [
{
"mode": "Exam"
}
],
"title": "CBTF Orientation",
"set": "Practice Quiz",
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'
}
export PS1="\[\033[1;34m\]\w[\$(parse_git_branch)]$\[\033[0m\] "
@armandofox
armandofox / application.html.erb
Created July 8, 2021 23:31
application.html.erb
<!DOCTYPE html>
<html>
<head>
<title> RottenPotatoes! </title>
<link rel="stylesheet" href="https://getbootstrap.com/docs/4.0/dist/css/bootstrap.min.css">
<%= javascript_include_tag :application %>
<%= csrf_meta_tags %>
</head>
<body>
<div class="container">