Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
migarc1 authored Jul 18, 2023
0 parents commit 204cbcf
Show file tree
Hide file tree
Showing 25 changed files with 7,505 additions and 0 deletions.
160 changes: 160 additions & 0 deletions .bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples
clear

echo -e '
tttt iiii
ttt:::t i::::i
t:::::t iiii
t:::::t
ppppp ppppppppp aaaaaaaaaaaaa ccccccccccccccccttttttt:::::ttttttt iiiiiii ooooooooooo
p::::ppp:::::::::p a::::::::::::a cc:::::::::::::::ct:::::::::::::::::t i:::::i oo:::::::::::oo
p:::::::::::::::::p aaaaaaaaa:::::a c:::::::::::::::::ct:::::::::::::::::t i::::i o:::::::::::::::o
pp::::::ppppp::::::p a::::ac:::::::cccccc:::::ctttttt:::::::tttttt i::::i o:::::ooooo:::::o
p:::::p p:::::p aaaaaaa:::::ac::::::c ccccccc t:::::t i::::i o::::o o::::o
p:::::p p:::::p aa::::::::::::ac:::::c t:::::t i::::i o::::o o::::o
p:::::p p:::::p a::::aaaa::::::ac:::::c t:::::t i::::i o::::o o::::o
p:::::p p::::::pa::::a a:::::ac::::::c ccccccc t:::::t tttttt i::::i o::::o o::::o
p:::::ppppp:::::::pa::::a a:::::ac:::::::cccccc:::::c t::::::tttt:::::t i::::::io:::::ooooo:::::o
p::::::::::::::::p a:::::aaaa::::::a c:::::::::::::::::c tt::::::::::::::t ...... i::::::io:::::::::::::::o
p::::::::::::::pp a::::::::::aa:::a cc:::::::::::::::c tt:::::::::::tt .::::. i::::::i oo:::::::::::oo
p::::::pppppppp aaaaaaaaaa aaaa cccccccccccccccc ttttttttttt ...... iiiiiiii ooooooooooo
p:::::p
p:::::p
p:::::::p
p:::::::p
p:::::::p
ppppppppp
'

echo "Welcome to the Pact 5 minute getting starting guide"

# If not running interactively, don't do anything
case $- in
*i*) ;;
*) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the promptbelow)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability;turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
# We have color support; assume it's compliant with Ecma-48
# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
# a case would tend to support setf rather than setaf.)
color_prompt=yes
else
color_prompt=
fi
fi

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
alias ls='ls --color=auto'
#alias dir='dir --color=auto'
#alias vdir='vdir --color=auto'

#alias grep='grep --color=auto'
#alias fgrep='fgrep --color=auto'
#alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
#alias ll='ls -l'
#alias la='ls -A'
#alias l='ls -CF'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi

RED='\e[91m'
GREEN='\e[92m'
BROWN='\e[93m'
BLUE='\e[94m'
PURPLE='\e[95m'
CYAN='\e[96m'
GRAY='\e[97m'

export TERM=xterm-256color

export PATH="$PATH:$HOME"

PS1="\[${BLUE}\]welcome\[${GRAY}\]@\[${GREEN}\]pact.io\[${GRAY}\]:\[${BROWN}\]\w\[${GRAY}\]$ \[${GRAY}\]"

export GIT_COMMIT=$(git rev-parse HEAD)
export GIT_BRANCH=$(git rev-parse --abbrev-ref HEAD)
echo "Welcome! try and run one of the scripts below!"
npm run intro
76 changes: 76 additions & 0 deletions .cirrus.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
BUILD_TEST_TASK_TEMPLATE: &BUILD_TEST_TASK_TEMPLATE
arch_check_script: uname -am
test_script: chmod +x ./scripts/ci/test.sh && ./scripts/ci/test.sh

# These are probably expected to fail in the post install script
# as we are packing v2.0.0 of pact-ruby-standalone that supports
# arm64 linux
# linux_arm64_task:
# skip: "!changesInclude('.github/**')"
# env:
# matrix:
# - IMAGE: node:15-slim
# - IMAGE: node:16-slim
# - IMAGE: node:17-slim
# - IMAGE: node:18-slim
# - IMAGE: node:19-slim
# - IMAGE: node:20-slim
# arm_container:
# image: $IMAGE
# install_script:
# - apt update --yes && apt install --yes curl python3 make build-essential g++ jq
# << : *BUILD_TEST_TASK_TEMPLATE

linux_amd64_task:
skip: "!changesInclude('.github/**')"
env:
matrix:
- IMAGE: node:16-slim
- IMAGE: node:17-slim
- IMAGE: node:18-slim
- IMAGE: node:19-slim
- IMAGE: node:20-slim
container:
image: $IMAGE
install_script:
- apt update --yes && apt install --yes curl python3 make build-essential g++ jq
<< : *BUILD_TEST_TASK_TEMPLATE


mac_task:
skip: "!changesInclude('.github/**')"
macos_instance:
image: ghcr.io/cirruslabs/macos-ventura-base:latest
env:
NVS_HOME: ${HOME}/.nvs
PATH: ${NVS_HOME}:${PATH}
matrix:
- NODE_VERSION: 16
- NODE_VERSION: 17
- NODE_VERSION: 18
- NODE_VERSION: 19
- NODE_VERSION: 20
install nvs_script: |
git clone https://github.com/jasongin/nvs "$NVS_HOME"
. "$NVS_HOME/nvs.sh" install
install_test_arm64_script: |
. "$NVS_HOME/nvs.sh"
nvs add $NODE_VERSION
nvs use $NODE_VERSION
file $(which node) | grep -e 'arm64'
node --version
<< : *BUILD_TEST_TASK_TEMPLATE
install_rosetta_script: softwareupdate --install-rosetta --agree-to-license
install_test_x64_script: |
rm -rf node_modules
. "$NVS_HOME/nvs.sh"
nvs add $NODE_VERSION/x64
nvs use $NODE_VERSION/x64
file $(which node) | grep -e 'x64'
node --version
arch -x86_64 npm run intro
arch -x86_64 npm run test:consumer
arch -x86_64 npm run pact:show
arch -x86_64 npm run test:provider
arch -x86_64 npm test
arch -x86_64 npm run get:broker
45 changes: 45 additions & 0 deletions .github/workflows/node.js.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs

name: Node.js CI

on:
workflow_dispatch:
push:
paths:
- '!.cirrus.yml'
- '**'
pull_request:
paths:
- '!.cirrus.yml'
- '**'

jobs:
build:

runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
strategy:
fail-fast: false
matrix:
node-version: [16,17,18,19,20]
os: [ubuntu-latest,macos-latest,windows-latest]
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
# - run: | # https://github.com/nodejs/node-gyp/blob/main/docs/Updating-npm-bundled-node-gyp.md
# npm -v
# npm explore npm/node_modules/@npmcli/run-script -g -- npm_config_global=false npm install node-gyp@latest
# if: matrix.node-version == '15' && runner.os == 'MacOS'
# - run: |
# npm -v
# where node
# cd "C:\\Program Files\nodejs\\"
# npm install node-gyp@latest
- run: ./scripts/ci/test.sh
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
node_modules
pacts
!pacts/GettingStartedOrderWeb-GettingStartedOrderApi.json
pact_broker
41 changes: 41 additions & 0 deletions .replit
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
run = "bash --rcfile .bashrc"

language = "python"

hidden = ["node_modules", ".github/**",'.git/**','.config/**','pact_broker/**']

[nix]
channel = "stable-22_05"

[env]
VIRTUAL_ENV = "/home/runner/${REPL_SLUG}/venv"
PYTHONPATH = "${VIRTUAL_ENV}/lib/python3.8/site-packages"
REPLIT_POETRY_PYPI_REPOSITORY = "https://package-proxy.replit.com/pypi/"
MPLBACKEND = "TkAgg"
POETRY_CACHE_DIR = "${HOME}/${REPL_SLUG}/.cache/pypoetry"
XDG_CONFIG_HOME = "/home/runner/.config"
PATH = "/home/runner/$REPL_SLUG/.config/npm/node_global/bin:/home/runner/$REPL_SLUG/node_modules/.bin:${VIRTUAL_ENV}/lib/python3.8/site-packages:${VIRTUAL_ENV}/bin"
npm_config_prefix = "/home/runner/$REPL_SLUG/.config/npm/node_global"
IS_REPL = "true"

[unitTest]
language = "nodejs"

[packager]
language = "nodejs"

[packager.features]
packageSearch = true
guessImports = true
enabledForHosting = false

[gitHubImport]
requiredFiles = [".replit", "replit.nix"]

[languages]

[languages.javascript]
pattern = "**/{*.js,*.jsx,*.ts,*.tsx}"

[languages.javascript.languageServer]
start = "typescript-language-server --stdio"
Loading

0 comments on commit 204cbcf

Please sign in to comment.