Skip to content

Instantly share code, notes, and snippets.

View pascalchevrel's full-sized avatar

Pascal Chevrel pascalchevrel

View GitHub Profile
@pascalchevrel
pascalchevrel / backport.py
Created September 18, 2023 16:54
List backports on branch X that were not cherrypicked in branch X+1
#!/usr/bin/env python3
# usage: backports.py 117
import os
import sys
version = sys.argv[1]
# Create a list of commits not merged directly in the version +1 branch
<?php
$results = [];
foreach (range(1, 100) as $x) {
$rule = fn($y) => is_int($x / $y);
$results[] = match(true) {
$rule(15) => 'fizzbuzz',
$rule(3) => 'fizz',
$rule(5) => 'buzz',
@pascalchevrel
pascalchevrel / karma.php
Last active March 1, 2023 16:11
Uplift Karma value
<?php
declare(strict_types=1);
function getJson(string $url): array
{
$data = file_get_contents($url);
return json_decode($data, true, 512, JSON_THROW_ON_ERROR);
}
$bugs = [
@pascalchevrel
pascalchevrel / gist:463fc7b1f0382f187820
Last active December 22, 2021 23:39
Example script to use with github webhooks to update a site when pushing on master
<?php
/* Webhook to update a repo for each push on GitHub. */
date_default_timezone_set('Europe/Paris');
$header_match = 'HTTP_X_HUB_SIGNATURE';
$secret_key = 'my_secret_key_in_github_webhook';
$branch = 'master';
function logHookResult($message , $success = false) {
@pascalchevrel
pascalchevrel / gist:0df93484a5031b533a38
Created October 15, 2014 13:12
.bashrc alias to show remote git branches
alias git_show_remote=git_show_remote
function git_show_remote()
{
for k in `git branch -r | perl -pe 's/^..(.*?)( ->.*)?$/\1/'`; do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset" $k -- | head -n 1`\\t$k; done | sort -r
}
@pascalchevrel
pascalchevrel / nightlyUpdate.py
Created September 14, 2016 13:19
Script to check if an update to Nightly is available for a platform. Usage: nightlyUpdate.py en-GB win64
#!/usr/bin/python
import sys
import urllib2
import json
from datetime import datetime, timedelta
import sys
@pascalchevrel
pascalchevrel / today_in_nightly.php
Last active December 22, 2021 23:39
Get all the changesets in Nightly between the current build and the previous one
<?php
function getBuilId(string $raw_build_id): array {
return [
'year' => substr($raw_build_id, 0, 4),
'month' => substr($raw_build_id, 4, 2),
'day' => substr($raw_build_id, 6, 2),
'hour' => substr($raw_build_id, 8, 2),
'minute' => substr($raw_build_id, 10, 2),
'second' => substr($raw_build_id, 12, 2),
@pascalchevrel
pascalchevrel / getBuilds.php
Last active December 22, 2021 23:39
Get Firefox Nightly build ids and associated revisions for a date
<?php
/*
Proof of concept.
PHP script which queries BuildHub for a date (https://buildhub.moz.tools)
and returns a json array with the Firefox Nightly build IDs for this day
as keys and the mercurial revision they were built from as values.
Documention and other scripts on querying buildhub:
- https://buildhub2.readthedocs.io/en/latest/user.html#example-is-this-an-official-build-id
- https://github.com/mozilla/crash-stop-addon/blob/master/crashstop/buildhub.py#L183
@pascalchevrel
pascalchevrel / byzanz-record-window.sh
Created January 17, 2017 12:55
A bash script to screencast a window into a Gif with good quality
#! /usr/bin/env bash
# This script uses byzanz-record to generate an animated Gif for your interactions
# with a window
# usage:
# Record a window for 3 seconds and save to /home/foo/yo.gif
# byzanz-record-window 3 /home/foo/yo.gif
#
# without parameters, it defaults to 10s and a target file in /tmp/screencast.gif
#
We are happy to announce that the Storage API feature is ready for testing in Firefox Nightly Desktop!
Storage API
The Storage API allows Web sites to find out how much space users can use (quota), how much they are already using (usage) and can also tell Firefox to store this data persistently and per origin. This feature is available only in secure contexts (HTTPS). You can also use Storage APIs via Web Workers.
There are plenty of APIs that can be used for storage, e.g., localStorage, IndexedDB. The data stored for a Web site managed by Storage API — which is defined by the Storage Standard specification — includes:
IndexedDB databases
Cache API data