Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 73 additions & 73 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,81 +9,81 @@ jobs:
JDK_VERSION: 11u17
JDK_DIR: jdk-11.0.17
steps:
- uses: actions/checkout@v5
with:
fetch-depth: 1
show-progress: false
- name: Cache JDK
uses: actions/cache@v4
id: cache-jdk
with:
path: ~/.java
key: jdk-${{ env.JDK_OS }}-${{ env.JDK_ARCH }}-${{ env.JDK_VERSION }}
- name: Install JDK
if: steps.cache-jdk.outputs.cache-hit != 'true'
run: |
export JDK_FILE="jdk-$JDK_VERSION-$JDK_OS-$JDK_ARCH.tar.gz"
export JDK_URL="https://defects4j.org/downloads/$JDK_FILE"
if [ ! -f "$JDK_FILE" ]; then mkdir -p ~/.java && (timeout 400 curl -O -s -S -L --retry 3 "$JDK_URL" || curl -O -L --retry 3 "$JDK_URL") && tar -xzf "$JDK_FILE" -C ~/.java; fi
- name: Setup JDK
run: |
export JAVA_HOME=$HOME/.java/$JDK_DIR
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
- name: Install diffstat and checkbashisms
run: sudo apt-get -y install diffstat devscripts
- name: Install Carton
uses: perl-actions/install-with-cpanm@v1
with:
install: |
Carton
- name: Install Perl packages
run: timeout 300 carton install || cpan carton install
- name: Install Subversion
run: sudo apt-get install -y subversion
- name: Run ./init.sh
run: |
./init.sh
- uses: actions/checkout@v5
with:
fetch-depth: 1
show-progress: false
- name: Cache JDK
uses: actions/cache@v4
id: cache-jdk
with:
path: ~/.java
key: jdk-${{ env.JDK_OS }}-${{ env.JDK_ARCH }}-${{ env.JDK_VERSION }}
- name: Install JDK
if: steps.cache-jdk.outputs.cache-hit != 'true'
run: |
export JDK_FILE="jdk-$JDK_VERSION-$JDK_OS-$JDK_ARCH.tar.gz"
export JDK_URL="https://defects4j.org/downloads/$JDK_FILE"
if [ ! -f "$JDK_FILE" ]; then mkdir -p ~/.java && (timeout 400 curl -O -s -S -L --retry 3 "$JDK_URL" || curl -O -L --retry 3 "$JDK_URL") && tar -xzf "$JDK_FILE" -C ~/.java; fi
- name: Setup JDK
run: |
export JAVA_HOME=$HOME/.java/$JDK_DIR
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV
echo "$JAVA_HOME/bin" >> $GITHUB_PATH
- name: Install diffstat and checkbashisms
run: sudo apt-get -y install diffstat devscripts
- name: Install Carton
uses: perl-actions/install-with-cpanm@v1
with:
install: |
Carton
- name: Install Perl packages
run: timeout 300 carton install || cpan carton install
- name: Install Subversion
run: sudo apt-get install -y subversion
- name: Run ./init.sh
run: |
./init.sh

# Test the tutorial and basic commands
- run: carton exec ./test_tutorial.sh
name: test_tutorial.sh
working-directory: "./framework/test"
- run: carton exec ./test_monitor_test.sh
name: test_monitor_test.sh
working-directory: "./framework/test"
- run: carton exec ./test_mutation_analysis.sh
name: test_mutation_analysis.sh
working-directory: "./framework/test"
- run: carton exec ./test_gen_tests.sh -p Lang -b 6
name: test_gen_tests.sh
working-directory: "./framework/test"
- run: carton exec ./test_fix_test_suite.sh
name: test_fix_test_suite.sh
working-directory: "./framework/test"
- run: carton exec ./test_bug_mining.sh
name: test_bug_mining.sh
working-directory: "./framework/test"
- run: carton exec ./test_style.sh
name: test_style.sh
working-directory: "./framework/test"
# Test the tutorial and basic commands
- run: carton exec ./test_tutorial.sh
name: test_tutorial.sh
working-directory: "./framework/test"
- run: carton exec ./test_monitor_test.sh
name: test_monitor_test.sh
working-directory: "./framework/test"
- run: carton exec ./test_mutation_analysis.sh
name: test_mutation_analysis.sh
working-directory: "./framework/test"
- run: carton exec ./test_gen_tests.sh -p Lang -b 6
name: test_gen_tests.sh
working-directory: "./framework/test"
- run: carton exec ./test_fix_test_suite.sh
name: test_fix_test_suite.sh
working-directory: "./framework/test"
- run: carton exec ./test_bug_mining.sh
name: test_bug_mining.sh
working-directory: "./framework/test"
- run: carton exec ./test_style.sh
name: test_style.sh
working-directory: "./framework/test"

# Verify a few select bugs to detect serious breakages early.
- run: carton exec ./test_verify_bugs.sh -p Collections -b 10 -A
name: "test_verify_bugs.sh -p Collections -b 10 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Lang -b 24 -A
name: "test_verify_bugs.sh -p Lang -b 24 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Lang -b 62 -A
name: "test_verify_bugs.sh -p Lang -b 62 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Closure -b 102 -A
name: "test_verify_bugs.sh -p Closure -b 102 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Mockito -b 10 -A
name: "test_verify_bugs.sh -p Mockito -b 10 -A"
working-directory: "./framework/test"
# Verify a few select bugs to detect serious breakages early.
- run: carton exec ./test_verify_bugs.sh -p Collections -b 10 -A
name: "test_verify_bugs.sh -p Collections -b 10 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Lang -b 24 -A
name: "test_verify_bugs.sh -p Lang -b 24 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Lang -b 62 -A
name: "test_verify_bugs.sh -p Lang -b 62 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Closure -b 102 -A
name: "test_verify_bugs.sh -p Closure -b 102 -A"
working-directory: "./framework/test"
- run: carton exec ./test_verify_bugs.sh -p Mockito -b 10 -A
name: "test_verify_bugs.sh -p Mockito -b 10 -A"
working-directory: "./framework/test"

# Verifying the export command for all bugs and verifying reproducibility of all
# bugs is very time-consuming. The jobs below should be run as part of the
Expand Down
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ services:
- TZ=America/Los_Angeles
- JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
volumes:
- ./workspace:/workspace
- ./workspace:/workspace
ports:
- "8080:8080"
- "8080:8080"
stdin_open: true
tty: true