Skip to content

Commit c5c38a1

Browse files
authored
feat!: remove webpack from dependencies (#1304)
* fix: remove webpack from dependencies This change removes webpack from the dependencies. It also upgrades bootstrap to 5.0 using cdn links. * fix: linting issue * fix: specs * fix: rollback default database * fix: specs * refactor: minor adjustments * refactor: cleanup more tests * fix: base64 spec * refactor: avoid around_each for all specs * fix: broken wrapper * fix: fix REDIS_URL * fix: make github action match docker compose * fix: remove old crystal version file * fix: update missing template changes * fix: forcefully add public assets * fix: remove cli from .gitignore * fix: use latest images * fix: remove nodejs from Dockerfile * fix: remove node dependency * fix: restore filter * fix: missed in slang template * fix: needs to be type module for ES6 support * Remove garnet spec (#1306) * fix: remove garnet_spec shard as dependency * fix: specs * 1227 fix layout equals false (#1307) * fix: check for false * fix: #1227 support LAYOUT=false
1 parent 552816c commit c5c38a1

File tree

75 files changed

+230
-496
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+230
-496
lines changed

.crystal-version

-1
This file was deleted.

.github/workflows/ci.yml

-46
This file was deleted.

.github/workflows/docker-ci.yml

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Docker CI
2+
3+
on:
4+
push:
5+
6+
jobs:
7+
docker:
8+
timeout-minutes: 10
9+
runs-on: ubuntu-latest
10+
11+
steps:
12+
- name: Checkout
13+
uses: actions/checkout@v3
14+
15+
- name: Start containers
16+
run: docker-compose up -d redis postgres
17+
18+
- name: Build image
19+
run: docker-compose build
20+
21+
- name: Run tests
22+
run: docker-compose run spec
23+
24+
- name: Stop containers
25+
if: always()
26+
run: docker-compose down

.gitignore

+1-2
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,4 @@ shard.lock
1212
package-lock.json
1313
node_modules
1414
/myapp
15-
cli
16-
cli.dwarf
15+
cli.dwarf

.travis.yml

-34
This file was deleted.

Dockerfile

+2-6
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,13 @@ FROM crystallang/crystal:latest
22

33
# Install Dependencies
44
ARG DEBIAN_FRONTEND=noninteractive
5-
RUN apt-get update -qq && apt-get install -y --no-install-recommends libpq-dev libsqlite3-dev libmysqlclient-dev libreadline-dev git curl vim netcat
6-
7-
# Install Node
8-
RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
9-
RUN apt-get install -y nodejs
5+
RUN apt-get update -qq && apt-get install -y libpq-dev libsqlite3-dev libmysqlclient-dev libreadline-dev curl vim
106

117
WORKDIR /opt/amber
128

139
# Build Amber
1410
ENV PATH /opt/amber/bin:$PATH
1511
COPY . /opt/amber
16-
RUN shards build amber --ignore-crystal-version
12+
RUN shards build amber
1713

1814
CMD ["crystal", "spec"]

assets/js/amber.min.js

-1
This file was deleted.

assets/js/webpack.config.js

-26
This file was deleted.

bin/amber_spec

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@
33
echo "Running './bin/ameba':"
44
./bin/ameba
55

6-
echo "\nRunning 'crystal tool --format --check':"
6+
echo "\nRunning 'crystal tool format --check':"
77
crystal tool format --check
88

99
echo "\nRunning 'crystal spec':"
1010
crystal spec
11+
12+
echo "\nRunning 'crystal spec ./spec/build_spec_granite.cr':"
13+
crystal spec ./spec/build_spec_granite.cr

docker-compose.yml

+12-7
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
version: '2'
22
services:
3-
db:
4-
image: postgres:10.2
3+
postgres:
4+
image: postgres
5+
ports:
6+
- 5432:5432
57
environment:
68
POSTGRES_USER: postgres
79
POSTGRES_PASSWORD: password
810
POSTGRES_DB: test_app
11+
912
redis:
10-
image: redis:5.0-alpine
13+
image: redis
1114
command: redis-server
15+
ports:
16+
- 6379:6379
17+
1218
spec:
1319
build: .
14-
working_dir: /opt/amber
20+
command: bin/amber_spec
1521
environment:
16-
DATABASE_URL: 'postgres://postgres:password@db:5432/test_app'
22+
DATABASE_URL: 'postgres://postgres:password@postgres:5432/test_app'
1723
REDIS_URL: 'redis://redis:6379'
1824
AMBER_ENV: test
19-
CI: "true"
2025
depends_on:
2126
- redis
22-
- db
27+
- postgres

package.json

-18
This file was deleted.

shard.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ dependencies:
3030
github: jeromegn/kilt
3131
version: ~> 0.6.0
3232

33+
slang:
34+
github: jeromegn/slang
35+
version: ~> 1.7.1
36+
3337
liquid:
3438
github: dare892/liquid.cr
3539
branch: chore/bump-version-crystal1.0.0
@@ -58,10 +62,6 @@ dependencies:
5862
github: luckyframework/shell-table.cr
5963
version: ~> 0.9.3
6064

61-
slang:
62-
github: jeromegn/slang
63-
version: ~> 1.7.1
64-
6565
inflector:
6666
github: phoffer/inflector.cr
6767
version: ~> 1.0.0

spec/amber/cli/commands/database_spec.cr

+45-37
Original file line numberDiff line numberDiff line change
@@ -7,58 +7,66 @@ include CLIFixtures
77

88
module Amber::CLI
99
describe "database" do
10-
ENV["AMBER_ENV"] = "test"
11-
1210
describe "sqlite" do
13-
context ENV["AMBER_ENV"] do
14-
it "has connection settings in config/environments/env.yml" do
15-
env_yml = prepare_test_app
16-
env_yml["database_url"].should eq expected_db_url("sqlite3", env)
17-
cleanup
18-
end
11+
it "has connection settings in config/environments/env.yml" do
12+
db_url = ENV["DATABASE_URL"]?
1913

20-
it "does not create the database when db create" do
21-
env_yml = prepare_test_app
22-
db_filename = env_yml["database_url"].to_s.gsub("sqlite3:", "")
23-
File.exists?(db_filename).should be_false
24-
cleanup
14+
if ENV["DATABASE_URL"]?
15+
ENV.delete("DATABASE_URL")
2516
end
17+
env_yml = prepare_test_app
18+
env_yml["database_url"].should eq expected_db_url("sqlite3", env)
19+
cleanup
2620

27-
it "creates the database when db migrate" do
28-
env_yml = prepare_test_app
29-
CLI.settings.database_url = env_yml["database_url"].to_s
21+
unless ENV["DATABASE_URL"]?
22+
ENV["DATABASE_URL"] = db_url
23+
end
24+
end
3025

31-
MainCommand.run ["generate", "model", "-y", "Post"]
32-
MainCommand.run ["db", "migrate"]
26+
it "creates and deletes the database when db migrate and drop" do
27+
db_url = ENV["DATABASE_URL"]?
3328

34-
db_filename = CLI.settings.database_url.to_s.gsub("sqlite3:", "")
35-
File.exists?(db_filename).should be_true
36-
File.info(db_filename).size.should_not eq 0
37-
cleanup
29+
if ENV["DATABASE_URL"]?
30+
ENV.delete("DATABASE_URL")
3831
end
3932

40-
it "deletes the database when db drop" do
41-
env_yml = prepare_test_app
42-
CLI.settings.database_url = env_yml["database_url"].to_s
33+
env_yml = prepare_test_app
34+
CLI.settings.database_url = env_yml["database_url"].to_s
35+
36+
MainCommand.run ["generate", "model", "-y", "Post"]
37+
MainCommand.run ["db", "migrate"]
38+
39+
db_filename = CLI.settings.database_url.to_s.gsub("sqlite3:", "")
40+
File.exists?(db_filename).should be_true
41+
File.info(db_filename).size.should_not eq 0
4342

44-
MainCommand.run ["generate", "model", "-y", "Post"]
45-
MainCommand.run ["db", "migrate"]
46-
MainCommand.run ["db", "drop"]
43+
MainCommand.run ["db", "drop"]
4744

48-
db_filename = CLI.settings.database_url.gsub("sqlite3:", "")
49-
File.exists?(db_filename).should be_false
50-
cleanup
45+
db_filename = CLI.settings.database_url.gsub("sqlite3:", "")
46+
File.exists?(db_filename).should be_false
47+
cleanup
48+
49+
unless ENV["DATABASE_URL"]?
50+
ENV["DATABASE_URL"] = db_url
5151
end
5252
end
5353
end
5454

5555
describe "postgres" do
56-
context ENV["AMBER_ENV"] do
57-
it "has #{ENV["AMBER_ENV"]} connection settings" do
58-
scaffold_app("#{TESTING_APP}", "-d", "pg")
59-
env_yml = environment_yml(ENV["AMBER_ENV"], "#{Dir.current}/config/environments/")
60-
env_yml["database_url"].should eq expected_db_url("pg", env)
61-
cleanup
56+
it "has test connection settings" do
57+
db_url = ENV["DATABASE_URL"]?
58+
59+
if ENV["DATABASE_URL"]?
60+
ENV.delete("DATABASE_URL")
61+
end
62+
63+
scaffold_app("#{TESTING_APP}", "-d", "pg")
64+
env_yml = environment_yml("test", "#{Dir.current}/config/environments/")
65+
env_yml["database_url"].should eq expected_db_url("pg", env)
66+
cleanup
67+
68+
unless ENV["DATABASE_URL"]?
69+
ENV["DATABASE_URL"] = db_url
6270
end
6371
end
6472
end

spec/amber/cli/commands/exec_spec.cr

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,9 @@ module Amber::CLI
3939
it "executes a .cr file from the first command-line argument" do
4040
File.write "amber_exec_spec_test.cr", "puts([:a] + [:b])"
4141
MainCommand.run(["exec", "amber_exec_spec_test.cr", "-e", "tail"])
42+
File.delete("amber_exec_spec_test.cr")
4243
logs = `ls tmp/*_console_result.log`.strip.split(/\s/).sort
4344
File.read(logs.last?.to_s).should eq "[:a, :b]\n"
44-
File.delete("amber_exec_spec_test.cr")
4545
end
4646

4747
it "opens editor and executes .cr file on close" do

0 commit comments

Comments
 (0)