Skip to content

Commit

Permalink
Up deps
Browse files Browse the repository at this point in the history
  • Loading branch information
hovancik committed Mar 7, 2024
1 parent 0afeb68 commit 526a432
Show file tree
Hide file tree
Showing 18 changed files with 323 additions and 170 deletions.
6 changes: 6 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM mcr.microsoft.com/vscode/devcontainers/base:ubuntu-22.04

# Adding the PostgreSQL repository so we can install postgresql-client v15
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
RUN sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
19 changes: 19 additions & 0 deletions .devcontainer/boot.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

echo "Setting SSH password for vscode user..."
sudo usermod --password "$(echo vscode | openssl passwd -1 -stdin)" vscode

echo "Updating RubyGems..."
gem update --system -N

echo "Installing dependencies..."
bundle install
yarn install

echo "Copying database.yml..."
cp -n .env.devcontainer .env

echo "Creating database..."
bin/rails db:create db:migrate db:seed

echo "Done!"
51 changes: 51 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"name": "Your Project Name",
"dockerComposeFile": "docker-compose.yml",
"service": "app",
"workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}",
"features": {
"ghcr.io/devcontainers/features/sshd:1": {},
"ghcr.io/rocker-org/devcontainer-features/apt-packages:1": {
"packages": "libpq-dev, libvips, postgresql-client-15"
},
"ghcr.io/devcontainers/features/git:1": {
"version": "latest"
},
"ghcr.io/devcontainers/features/ruby:1": {
"version": "3.2.3"
},
"ghcr.io/devcontainers/features/node:1": {
"version": "16.19.0"
},
"ghcr.io/devcontainers/features/common-utils:2": {
"username": "vscode",
"userUid": 1000,
"userGid": 1000,
"installZsh": true,
"installOhMyZsh": true,
"configureZshAsDefaultShell": true,
"upgradePackages": true
},
"ghcr.io/devcontainers-contrib/features/zsh-plugins:0": {
"username": "vscode",
"plugins": "bundler rails ruby yarn"
}
},

// Configure tool-specific properties.
"customizations": {
"vscode": {
"extensions": ["Shopify.ruby-lsp"]
}
},

// Use 'forwardPorts' to make a list of ports inside the container available locally.
// This can be used to network with other containers or the host.
"forwardPorts": [2222, 3000, 5433],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": ".devcontainer/boot.sh"

// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
// "remoteUser": "root"
}
30 changes: 30 additions & 0 deletions .devcontainer/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
version: "3"

services:
app:
build:
context: ..
dockerfile: .devcontainer/Dockerfile
volumes:
- ../..:/workspaces:cached
command: sleep infinity
postgres:
image: postgres:15-alpine
restart: unless-stopped
volumes:
- postgres-data:/var/lib/postgresql/data
ports:
- 5433:5432
environment:
POSTGRES_USER: postgres
POSTGRES_DB: postgres
POSTGRES_PASSWORD: postgres
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- redis-data:/data

volumes:
postgres-data:
redis-data:
1 change: 1 addition & 0 deletions .devcontainer/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from https://github.com/luizkowalski/devcontainer-rails
4 changes: 4 additions & 0 deletions .env.devcontainer
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
DATABASE_URL=postgres://postgres:postgres@postgres:5432/bsdsec_development
TEST_DATABASE_URL=postgres://postgres:postgres@postgres:5432/bsdsec_test
TEST_EMAIL=test@example.com
MAILGUN_INGRESS_API_KEY=asdf
46 changes: 46 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-20.04
services:
postgres:
image: postgres:10
env:
POSTGRES_PASSWORD: postgres
ports: ['5432:5432']
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2
- name: Install Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.3
- name: Install Bundler
run: gem install bundler
- name: Install Node
uses: actions/setup-node@v1
with:
node-version: 16.19.0
- name: Setup the Rails application
env:
RAILS_ENV: test
run: |
sudo apt-get -yqq install libpq-dev build-essential
bundle install --no-deployment --jobs 4 --retry 3
cp config/database.github.yml config/database.yml
bundle exec rails db:create
bundle exec rails db:migrate
yarn --frozen-lockfile
- name: Run unit tests
run: bundle exec rails test
env:
CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
- name: Publish code coverage
uses: paambaati/codeclimate-action@v2.7.5
env:
CC_TEST_REPORTER_ID: ${{secrets.CC_TEST_REPORTER_ID}}
1 change: 1 addition & 0 deletions .node-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
16.19.0
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7.6
3.2.3
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FROM ruby:2.7.6
FROM ruby:3.2.3
RUN apt-get update -qq
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash
RUN curl -sL https://deb.nodesource.com/setup_16.x | bash
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get install -y nodejs
RUN apt-get update && apt-get install -y yarn
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
source 'https://rubygems.org'
ruby "2.7.6"
ruby "3.2.3"

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 6.0'
Expand Down
Loading

0 comments on commit 526a432

Please sign in to comment.