Skip to content

Commit 11936db

Browse files
authored
Merge pull request #2259 from tsloughter/relx-4-1
prepare for 3.14.0-rc1
2 parents 9076a48 + 99523bc commit 11936db

10 files changed

+126
-33
lines changed

.cirrus.yml

+23-21
Original file line numberDiff line numberDiff line change
@@ -34,28 +34,30 @@ nightly_task:
3434
ACCESS_KEY: ENCRYPTED[86c639224b3cfc11ae5dbd48b13de5ff77dd5c75f1bf1808ddbbb5bc60049f16885b4e2e3a7981376cac562f7a2d176b]
3535
SECRET_KEY: ENCRYPTED[189c3b982c2f846193bb34c3de86e0172b8a4c793699f64dc95bb9a1e6bbe83c252c77d37ea1503928aa9b41a3652ca3]
3636

37-
release_task:
38-
container:
39-
image: erlang:18
40-
depends_on:
41-
- test
42-
only_if: $CIRRUS_TAG != ''
43-
script: |
44-
apt-get update
45-
apt-get install -y s3cmd
46-
./bootstrap
47-
s3cmd --access_key=$ACCESS_KEY --secret_key=$SECRET_KEY put ./rebar3 s3://rebar3
37+
# Removed while making pre-release -rc versions so they don't override the stable release in s3
4838

49-
url_to_upload="https://uploads.github.com/repos/$CIRRUS_REPO_FULL_NAME/releases/$CIRRUS_RELEASE/assets?name=rebar3"
50-
curl -X POST \
51-
--data-binary @rebar3 \
52-
--header "Authorization: token $GITHUB_TOKEN" \
53-
--header "Content-Type: application/octet-stream" \
54-
$url_to_upload
55-
environment:
56-
ACCESS_KEY: ENCRYPTED[86c639224b3cfc11ae5dbd48b13de5ff77dd5c75f1bf1808ddbbb5bc60049f16885b4e2e3a7981376cac562f7a2d176b]
57-
SECRET_KEY: ENCRYPTED[189c3b982c2f846193bb34c3de86e0172b8a4c793699f64dc95bb9a1e6bbe83c252c77d37ea1503928aa9b41a3652ca3]
58-
GITUB_TOKEN: ENCRYPTED[ff884c4b0a4f2833b6c22c1fd6398879d58634d0f521e7efbd33f045fb785417f24da953cfbdaee563698501691e5970]
39+
# release_task:
40+
# container:
41+
# image: erlang:18
42+
# depends_on:
43+
# - test
44+
# only_if: $CIRRUS_TAG != ''
45+
# script: |
46+
# apt-get update
47+
# apt-get install -y s3cmd
48+
# ./bootstrap
49+
# s3cmd --access_key=$ACCESS_KEY --secret_key=$SECRET_KEY put ./rebar3 s3://rebar3
50+
51+
# url_to_upload="https://uploads.github.com/repos/$CIRRUS_REPO_FULL_NAME/releases/$CIRRUS_RELEASE/assets?name=rebar3"
52+
# curl -X POST \
53+
# --data-binary @rebar3 \
54+
# --header "Authorization: token $GITHUB_TOKEN" \
55+
# --header "Content-Type: application/octet-stream" \
56+
# $url_to_upload
57+
# environment:
58+
# ACCESS_KEY: ENCRYPTED[86c639224b3cfc11ae5dbd48b13de5ff77dd5c75f1bf1808ddbbb5bc60049f16885b4e2e3a7981376cac562f7a2d176b]
59+
# SECRET_KEY: ENCRYPTED[189c3b982c2f846193bb34c3de86e0172b8a4c793699f64dc95bb9a1e6bbe83c252c77d37ea1503928aa9b41a3652ca3]
60+
# GITUB_TOKEN: ENCRYPTED[ff884c4b0a4f2833b6c22c1fd6398879d58634d0f521e7efbd33f045fb785417f24da953cfbdaee563698501691e5970]
5961

6062

6163
# Windows CI appears broken for now and never passes

.github/workflows/main.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Common Test
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- 'master'
7+
push:
8+
branches:
9+
- 'master'
10+
11+
jobs:
12+
build:
13+
name: Test on OTP ${{ matrix.otp_version }} and ${{ matrix.os }}
14+
runs-on: ${{ matrix.os }}
15+
16+
strategy:
17+
matrix:
18+
otp_version: [19, 20, 21, 22, 23]
19+
os: [ubuntu-latest]
20+
21+
container:
22+
image: erlang:${{ matrix.otp_version }}
23+
24+
steps:
25+
- uses: actions/checkout@v1
26+
- name: Compile
27+
run: ./bootstrap
28+
- name: CT tests
29+
run: ./rebar3 ct

.github/workflows/publish.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Publish
2+
3+
on:
4+
release:
5+
types: [published, prereleased]
6+
7+
jobs:
8+
build:
9+
name: Publish escript to release
10+
runs-on: ubuntu-latest
11+
12+
container:
13+
image: erlang:19
14+
15+
steps:
16+
- uses: actions/checkout@v1
17+
- name: Compile
18+
run: ./bootstrap
19+
- name: CT tests
20+
run: ./rebar3 ct
21+
22+
- name: Upload Release Asset
23+
id: upload-release-asset
24+
uses: actions/upload-release-asset@v1
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
with:
28+
upload_url: ${{ steps.create_release.outputs.upload_url }}
29+
asset_path: ./rebar3
30+
asset_name: rebar3
31+
asset_content_type: application/zip
32+
33+
- name: Configure AWS credentials
34+
if: "!github.event.release.prerelease"
35+
uses: aws-actions/configure-aws-credentials@v1
36+
with:
37+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
38+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
39+
aws-region: us-east-1
40+
41+
- name: Copy rebar3 escript to S3
42+
if: "!github.event.release.prerelease"
43+
run: |
44+
aws s3 sync ./rebar3 s3://rebar3

bootstrap

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ main(_) ->
4343
bootstrap_rebar3(),
4444

4545
%% Build rebar.app from rebar.app.src
46-
{ok, App} = rebar_app_info:new(rebar, "3.13.0", filename:absname("_build/default/lib/rebar/")),
46+
{ok, App} = rebar_app_info:new(rebar, "3.14.0-rc1", filename:absname("_build/default/lib/rebar/")),
4747
rebar_otp_app:compile(rebar_state:new(), App),
4848

4949
%% Because we are compiling files that are loaded already we want to silence

rebar.config

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
{getopt, "1.0.1"},
1010
{bbmustache, "1.8.0"},
1111
%% {relx, "3.33.0"},
12-
{relx, {git, "https://github.com/erlware/relx.git", {branch, "4.0.0"}}},
12+
{relx, {git, "https://github.com/erlware/relx.git", {tag, "v4.0.0-rc1"}}},
1313
{cf, "0.2.2"},
1414
{cth_readable, "1.4.8"},
1515
{eunit_formatters, "0.5.0"}]}.

rebar.lock

+14-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{"1.1.0",
1+
{"1.2.0",
22
[{<<"bbmustache">>,{pkg,<<"bbmustache">>,<<"1.8.0">>},0},
33
{<<"certifi">>,{pkg,<<"certifi">>,<<"2.5.1">>},0},
44
{<<"cf">>,{pkg,<<"cf">>,<<"0.2.2">>},0},
@@ -10,7 +10,7 @@
1010
{<<"providers">>,{pkg,<<"providers">>,<<"1.8.1">>},0},
1111
{<<"relx">>,
1212
{git,"https://github.com/erlware/relx.git",
13-
{ref,"ad25111b7349c633fbec30f26c1ad03361d6b806"}},
13+
{ref,"e3b61cd8eab04609c4b0e684dfb564e788446d53"}},
1414
0},
1515
{<<"ssl_verify_fun">>,{pkg,<<"ssl_verify_fun">>,<<"1.1.5">>},0}]}.
1616
[
@@ -24,5 +24,16 @@
2424
{<<"getopt">>, <<"C73A9FA687B217F2FF79F68A3B637711BB1936E712B521D8CE466B29CBF7808A">>},
2525
{<<"parse_trans">>, <<"09765507A3C7590A784615CFD421D101AEC25098D50B89D7AA1D66646BC571C1">>},
2626
{<<"providers">>, <<"70B4197869514344A8A60E2B2A4EF41CA03DEF43CFB1712ECF076A0F3C62F083">>},
27-
{<<"ssl_verify_fun">>, <<"6EAF7AD16CB568BB01753DBBD7A95FF8B91C7979482B95F38443FE2C8852A79B">>}]}
27+
{<<"ssl_verify_fun">>, <<"6EAF7AD16CB568BB01753DBBD7A95FF8B91C7979482B95F38443FE2C8852A79B">>}]},
28+
{pkg_hash_ext,[
29+
{<<"bbmustache">>, <<"190EA2206128BDFABF5D9200B8DF97F6511D9C62953655828E28C2BC79161252">>},
30+
{<<"certifi">>, <<"805ABD97539CAF89EC6D4732C91E62BA9DA0CDA51AC462380BBD28EE697A8C42">>},
31+
{<<"cf">>, <<"48283B3019BC7FAD56E7B23028A5DA4D3E6CD598A553AB2A99A2153BF5F19B21">>},
32+
{<<"cth_readable">>, <<"46C3BB14DF581DC7A9DC0CB9E8C755BFF596665FB9A23148DD76E3A200804E90">>},
33+
{<<"erlware_commons">>, <<"7AADA93F368D0A0430122E39931B7FB4AC9E94DBF043CDC980AD4330FD9CD166">>},
34+
{<<"eunit_formatters">>, <<"D6C8BA213424944E6E05BBC097C32001CDD0ABE3925D02454F229B20D68763C9">>},
35+
{<<"getopt">>, <<"53E1AB83B9CEB65C9672D3E7A35B8092E9BDC9B3EE80721471A161C10C59959C">>},
36+
{<<"parse_trans">>, <<"17EF63ABDE837AD30680EA7F857DD9E7CED9476CDD7B0394432AF4BFC241B960">>},
37+
{<<"providers">>, <<"E45745ADE9C476A9A469EA0840E418AB19360DC44F01A233304E118A44486BA0">>},
38+
{<<"ssl_verify_fun">>, <<"13104D7897E38ED7F044C4DE953A6C28597D1C952075EB2E328BC6D6F2BFC496">>}]}
2839
].

src/rebar.app.src

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
{application, rebar,
55
[{description, "Rebar: Erlang Build Tool"},
6-
{vsn, "git"},
6+
{vsn, "3.14.0-rc1"},
77
{modules, []},
88
{registered, []},
99
{applications, [kernel,

src/rebar_prv_tar.erl

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
-include("rebar.hrl").
1313

1414
-define(PROVIDER, tar).
15-
-define(DEPS, [release]).
15+
-define(DEPS, [compile]).
1616

1717
%% ===================================================================
1818
%% Public API

src/rebar_relx.erl

+11-5
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,20 @@ do(Provider, State) ->
3939
ProfileString = rebar_dir:profile_dir_name(State),
4040
ExtraOverlays = [{profile_string, ProfileString}],
4141

42+
CurrentProfiles = rebar_state:current_profiles(State),
43+
RelxMode = case lists:member(prod, CurrentProfiles) of
44+
true ->
45+
[{mode, prod}];
46+
false ->
47+
[]
48+
end,
4249
DefaultOutputDir = filename:join(rebar_dir:base_dir(State), ?DEFAULT_RELEASE_DIR),
43-
RelxConfig1 = [output_dir(DefaultOutputDir, Opts),
44-
{overlay_vars_values, ExtraOverlays},
45-
{overlay_vars, [{base_dir, rebar_dir:base_dir(State)}]}
46-
| merge_overlays(RelxConfig)],
50+
RelxConfig1 = RelxMode ++ [output_dir(DefaultOutputDir, Opts),
51+
{overlay_vars_values, ExtraOverlays},
52+
{overlay_vars, [{base_dir, rebar_dir:base_dir(State)}]}
53+
| merge_overlays(RelxConfig)],
4754
{ok, RelxState} = rlx_config:to_state(RelxConfig1),
4855

49-
5056
Providers = rebar_state:providers(State),
5157
Cwd = rebar_state:dir(State),
5258
rebar_hooks:run_project_and_app_hooks(Cwd, pre, Provider, Providers, State),

test/rebar_release_SUITE.erl

+1
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,7 @@ profile_overlays(Config) ->
215215
{lib_dirs, [AppDir]}]},
216216
{profiles, [{prod,
217217
[{relx, [
218+
{debug_info, keep},
218219
{overlay_vars, filename:join(AppDir, "prod.vars")},
219220
{overlay, [{mkdir, "otherrandomdir"},
220221
{copy, filename:join(AppDir, "./prod.file"), "{{env}}.file"},

0 commit comments

Comments
 (0)