You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+12-49Lines changed: 12 additions & 49 deletions
Original file line number
Diff line number
Diff line change
@@ -26,54 +26,23 @@ cabal v2-build Cabal:unit-tests # build Cabal's unit test suite
26
26
cabal v2-build cabal-tests # etc...
27
27
~~~~
28
28
29
-
**Dogfooding HEAD.**
30
-
Many of the core developers of Cabal dogfood `cabal-install` HEAD
31
-
when doing development on Cabal. This helps us identify bugs
32
-
which were missed by the test suite and easily experiment with new
33
-
features.
34
-
35
-
The recommended workflow in this case is slightly different: you will
36
-
maintain two Cabal source trees: your production tree (built with a
37
-
released version of Cabal) which always tracks `master` and which you
38
-
update only when you want to move to a new version of Cabal to dogfood,
39
-
and your development tree (built with your production Cabal) that you
40
-
actually do development on.
41
-
42
-
In more detail, suppose you have checkouts of Cabal at `~/cabal-prod`
43
-
and `~/cabal-dev`, and you have a release copy of cabal installed at
44
-
`/opt/cabal/2.4/bin/cabal`. First, build your production tree:
45
-
46
-
~~~~
47
-
cd ~/cabal-prod
48
-
/opt/cabal/2.4/bin/cabal v2-build cabal
49
-
~~~~
50
-
51
-
This will produce a cabal binary (see also: [Where are my build products?](http://cabal.readthedocs.io/en/latest/nix-local-build.html#where-are-my-build-products)
52
-
). Add this binary to your PATH,
53
-
and then use it to build your development copy:
54
-
55
-
~~~~
56
-
cd ~/cabal-dev
57
-
cabal v2-build cabal
58
-
~~~~
59
-
60
29
Running tests
61
30
-------------
62
31
63
-
**Using Travis and AppVeyor.**
32
+
**Using Github Actions and AppVeyor.**
64
33
If you are not in a hurry, the most convenient way to run tests on Cabal
65
34
is to make a branch on GitHub and then open a pull request; our
66
-
continuous integration service on Travis and AppVeyor will build and
35
+
continuous integration service on Github Actions and AppVeyor will build and
67
36
test your code. Title your PR with WIP so we know that it does not need
68
37
code review.
69
38
70
-
Some tips for using Travis effectively:
39
+
Some tips for using Github Actions effectively:
71
40
72
-
*Travis builds take a long time. Use them when you are pretty
41
+
*Github Actions builds take a long time. Use them when you are pretty
73
42
sure everything is OK; otherwise, try to run relevant tests locally
74
43
first.
75
44
76
-
* Watch over your jobs on the [Travis website](http://travis-ci.org).
45
+
* Watch over your jobs on the [Github Actions website](http://github.org/haskell/cabal/actions).
77
46
If you know a build of yours is going to fail (because one job has
78
47
already failed), be nice to others and cancel the rest of the jobs,
79
48
so that other commits on the build queue can be processed.
@@ -97,10 +66,9 @@ failures:
97
66
a specific operating system? If so, try reproducing the
- Exposes `cabal-install` as a library, bumping the `cabal-install` cabal version to 2.2, and removing the dogfooding framework surrounding `cabal-install` to facilitate easier testing.
8
+
9
+
- Moves `cabal-install-solver` out to its own directory, and treats it as its own separate project. Addresses #6090, #7224, and #3781
10
+
11
+
- Enable HPC coverage:
12
+
13
+
- absorb `cabal-install-solver-dsl` module into the test modules, and
14
+
incorporate it into its own test target.
15
+
16
+
- Splits out `cabal-install` unit tests from long-running tests.
17
+
18
+
- Adds proper subcomponent coverage masking so we can finally generate
0 commit comments