Skip to content

Commit 61a964c

Browse files
authored
Merge pull request #19 from rabbitmq/v2
bazel-erlang v1 -> rules_erlang v2
2 parents d62a135 + b61cd18 commit 61a964c

34 files changed

+1738
-1407
lines changed

.github/workflows/test.yaml

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- name: CHECKOUT
1414
uses: actions/checkout@v2
1515
- name: CONFIGURE ERLANG
16-
uses: gleam-lang/setup-erlang@v1.1.2
16+
uses: erlef/setup-beam@v1
1717
with:
1818
otp-version: ${{ matrix.otp }}
1919
- name: CONFIGURE BAZEL
@@ -33,7 +33,50 @@ jobs:
3333
echo "::set-output name=LOGS_PATH::$(readlink -f bazel-testlogs)"
3434
id: resolve-test-logs-path
3535
- name: CAPTURE TEST LOGS
36-
uses: actions/upload-artifact@v2-preview
36+
uses: actions/upload-artifact@v2
3737
with:
3838
name: bazel-testlogs-${{matrix.otp}}
3939
path: ${{ steps.resolve-test-logs-path.outputs.LOGS_PATH }}/*
40+
test-windows:
41+
runs-on: windows-latest
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
otp:
46+
- "23.2"
47+
- "24.0"
48+
steps:
49+
- name: CHECKOUT
50+
uses: actions/checkout@v2
51+
- name: CONFIGURE ERLANG
52+
uses: erlef/setup-beam@v1
53+
with:
54+
otp-version: ${{ matrix.otp }}
55+
- name: CONFIGURE BAZEL
56+
shell: bash
57+
run: |
58+
ERL_PATH="$(which erl)"
59+
cat << EOF >> .bazelrc
60+
startup --windows_enable_symlinks
61+
build --enable_runfiles
62+
63+
build --//:erlang_version=${{ matrix.otp }}
64+
build --//:erlang_home="${ERL_PATH/\/bin\/erl/}"
65+
66+
build --incompatible_strict_action_env
67+
EOF
68+
cat .bazelrc
69+
- name: TEST
70+
run: |
71+
bazelisk test //...
72+
#! https://github.com/actions/upload-artifact/issues/240
73+
#! - name: RESOVLE TEST LOGS PATH
74+
#! run: |
75+
#! Set-Variable -Name logs_path -Value (Get-Item bazel-testlogs).Target
76+
#! Write-Output "::set-output name=LOGS_PATH::$logs_path"
77+
#! id: resolve-test-logs-path
78+
#! - name: CAPTURE TEST LOGS
79+
#! uses: actions/upload-artifact@v2
80+
#! with:
81+
#! name: bazel-testlogs-${{matrix.otp}}
82+
#! path: ${{ steps.resolve-test-logs-path.outputs.LOGS_PATH }}

BUILD.bazel

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
load("erlang_home.bzl", "erlang_home", "erlang_version")
22

3-
exports_files([
4-
"app_file.template",
5-
"app_with_mod_file.template",
6-
])
7-
83
# This allows us to
94
# `bazel build //my/target \
105
# --@bazel-erlang//:erlang_home=/path/to/erlang/installation`

README.md

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
# bazel_erlang
1+
# rules_erlang
22

33
Bazel rules for Erlang sources
44

55
## Assumptions
66

7-
`erlang_lib` and `ct_suite` macros require the standard otp layout, relative to the bazel package (to some degree abitrary layout can be handled with with the `erlc`, `app_file`, `bazel_erlang_lib` & `ct_test` rules which those macros utilize). For an erlang application named `my_erlang_app` this means:
7+
`erlang_app` and `ct_suite` macros require the standard otp layout, relative to the bazel package (to some degree abitrary layout can be handled with with the `erlc`, `app_file`, `erlang_app_info` & `ct_test` rules which those macros utilize). For an erlang application named `my_erlang_app` this means:
88

99
```
1010
my_erlang_app
@@ -35,34 +35,33 @@ The example below follows this convention.
3535

3636
```starlark
3737
http_archive(
38-
name = "bazel-erlang",
39-
sha256 = "f37c339711ce05b748688938ad9b1c00a78f0b2ef67d6baa734f5a34e33ad8a3",
40-
strip_prefix = "bazel-erlang-1.4.0",
41-
urls = ["https://github.com/rabbitmq/bazel-erlang/archive/refs/tags/1.4.0.zip"],
38+
name = "rules_erlang",
39+
strip_prefix = "rules_erlang-v2",
40+
urls = ["https://github.com/rabbitmq/rules_erlang/archive/refs/heads/v2.zip"],
4241
)
4342

44-
load("@bazel-erlang//:bazel_erlang.bzl", "bazel_erlang_deps")
43+
load("@rules_erlang//:rules_erlang.bzl", "rules_erlang_dependencies")
4544

46-
bazel_erlang_deps()
45+
rules_erlang_dependencies()
4746
```
4847

4948
### `BUILD` file
5049

5150
```starlark
52-
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
53-
load("@bazel-erlang//:xref.bzl", "xref")
54-
load("@bazel-erlang//:dialyze.bzl", "dialyze", "plt")
55-
load("@bazel-erlang//:ct_sharded.bzl", "ct_suite", "assert_suites")
51+
load("@rules_erlang//:erlang_app.bzl", "erlang_app", "test_erlang_app")
52+
load("@rules_erlang//:xref.bzl", "xref")
53+
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
54+
load("@rules_erlang//:ct_sharded.bzl", "ct_suite", "assert_suites")
5655

5756
APP_NAME = "my_cool_app"
5857
APP_VERSION = "0.1.0
5958

60-
erlang_lib(
59+
erlang_app(
6160
app_name = APP_NAME,
6261
app_version = APP_VERSION,
6362
)
6463

65-
test_erlang_lib(
64+
test_erlang_app(
6665
app_name = APP_NAME,
6766
app_version = APP_VERSION,
6867
)
@@ -82,24 +81,24 @@ assert_suites([
8281

8382
```shell
8483
bazel test //... \
85-
--@bazel-erlang//:erlang_home=/path/to/erlang \
86-
--@bazel-erlang//:erlang_version=23.2
84+
--@rules_erlang//:erlang_home=/path/to/erlang \
85+
--@rules_erlang//:erlang_version=23.2
8786
```
8887

8988
## Run the unit suite only
9089

9190
```shell
9291
bazel test //:unit_SUITE \
93-
--@bazel-erlang//:erlang_home=/path/to/erlang \
94-
--@bazel-erlang//:erlang_version=23.2
92+
--@rules_erlang//:erlang_home=/path/to/erlang \
93+
--@rules_erlang//:erlang_version=23.2
9594
```
9695

9796
## Run a single test case
9897

9998
```shell
10099
bazel test //:unit_SUITE \
101-
--@bazel-erlang//:erlang_home=/path/to/erlang \
102-
--@bazel-erlang//:erlang_version=23.2 \
100+
--@rules_erlang//:erlang_home=/path/to/erlang \
101+
--@rules_erlang//:erlang_version=23.2 \
103102
--test_env FOCUS="-group my_group -case my_case"
104103
```
105104

WORKSPACE.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
load(":bazel_erlang.bzl", "bazel_erlang_deps")
1+
load(":rules_erlang.bzl", "rules_erlang_dependencies")
22

3-
bazel_erlang_deps()
3+
rules_erlang_dependencies()

app_file.bzl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
load("//private:app_file.bzl", "app_file_private")
2+
3+
def app_file(**kwargs):
4+
app_file_private(**kwargs)

0 commit comments

Comments
 (0)