Skip to content

Commit

Permalink
Merge pull request #10 from JosueMolinaMorales/josuemorales/sc-36/rel…
Browse files Browse the repository at this point in the history
…ease-1-0-beta-of-tool

Josuemorales/sc 36/release 1 0 beta of tool
  • Loading branch information
JosueMolinaMorales committed Apr 10, 2024
2 parents 7ac7361 + bfbb9a3 commit fc14618
Show file tree
Hide file tree
Showing 29 changed files with 409 additions and 848,551 deletions.
129 changes: 122 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,134 @@
version: 2.1

orbs:
rust: circleci/rust@1.6.0
rust: circleci/rust@1.6.1
github-cli: circleci/github-cli@2.3.0

executors:
macos-executor:
macos:
xcode: 12.5.1
shell: /bin/bash
working_directory: ~/repo
executor:
docker:
- image: cimg/rust:1.55.0
working_directory: ~/repo

jobs:
build-app:
machine:
image: ubuntu-2004:current
steps:
- checkout
- rust/install
- rust/build:
release: true
- rust/test
- checkout
- rust/install
- rust/build:
release: true

test-app:
machine:
image: ubuntu-2004:current
steps:
- checkout
- rust/install
- run:
name: Run tests
command: cargo test

build-app-macos:
executor: macos-executor
steps:
- checkout
- rust/install
- run:
name: Build macOS app
command: cargo build --release
- run:
name: Create Tarball
command: |
cd target/release && tar -czf mutant-kraken-macos.tar.gz mutant-kraken
- persist_to_workspace:
root: target/release
paths:
- mutant-kraken-macos.tar.gz

publish-github-release:
executor: executor
steps:
- checkout
- attach_workspace:
at: ~/repo
# Get version from cargo.toml
- run:
name: Get version from cargo.toml
command: |
VERSION=$(cat ./Cargo.toml | grep version | head -1 | grep -o '"[^"]\+"' | sed -e 's/^"//' -e 's/"$//')
echo "Version: $VERSION"
echo "export VERSION=$VERSION" >> $BASH_ENV
- github-cli/setup:
token: GITHUB_TOKEN
- run:
name: "Create Release on GitHub"
command: |
gh release create v${VERSION} --generate-notes mutant-kraken-macos.tar.gz
deploy-homebrew:
executor: executor
steps:
- checkout
- attach_workspace:
at: ~/repo
- run:
name: Get version from cargo.toml
command: |
VERSION=$(cat ./Cargo.toml | grep version | head -1 | grep -o '"[^"]\+"' | sed -e 's/^"//' -e 's/"$//')
echo "Version: $VERSION"
echo "export VERSION=$VERSION" >> $BASH_ENV
# Update Homebrew formula
- run:
name: Pull Homebrew Repository
command: |
git clone https://github.com/josuemolinamorales/homebrew-mutant-kraken.git
- run:
name: Update Homebrew Formula
command: |
cd homebrew-mutant-kraken/Formula
# Update the formula with the new version
sed -i "s|version \".*\"|version \"$VERSION\"|" mutant-kraken.rb
# Update the sha256
shasum -a 256 ~/repo/mutant-kraken-macos.tar.gz | cut -d ' ' -f 1 > mutant-kraken-macos.tar.gz.sha256
# Display the sha256
cat mutant-kraken-macos.tar.gz.sha256
sed -i "s|sha256 \".*\"|sha256 \"$(cat mutant-kraken-macos.tar.gz.sha256 )\"|" mutant-kraken.rb
# Update the URL
sed -i "s|url \".*\"|url \"https://github.com/josuemolinamorales/mutant-kraken/releases/download/v$VERSION/mutant-kraken-macos.tar.gz\"|" mutant-kraken.rb
# Display the changes
cat mutant-kraken.rb
- run:
name: Push changes to Homebrew Repository
command: |
cd homebrew-mutant-kraken/Formula
git config --global user.email "molinajosue92@hotmail.com"
git config --global user.name "CircleCI Job"
git add mutant-kraken.rb
git commit -m "Update mutant-kraken to $VERSION"
git push -q https://$GITHUB_TOKEN@github.com/josuemolinamorales/homebrew-mutant-kraken.git main
workflows:
build-function:
jobs:
- build-app
- build-app
- test-app

build-and-deploy:
when:
equal: [main, << pipeline.git.branch >>]
jobs:
- build-app-macos
- publish-github-release:
requires:
- build-app-macos
- deploy-homebrew:
requires:
- publish-github-release
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Mutant-Kraken Changelog

All notable changes to this project will be documented in this file.

For guidance on how to write a good changelog, see [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

For quick reference:

Types of changes

- **Added** for new features.
- **Changed** for changes in existing functionality.
- **Deprecated** for soon-to-be removed features.
- **Removed** for now removed features.
- **Fixed** for any bug fixes.
- **Security** in case of vulnerabilities.

## [0.1.0-beta] - 2024-09-04

Welcome to the first release of Mutant-Kraken! This is a beta release, so please report any issues you find.

### Added

- Initial release of Mutant-Kraken
- 7 new Kotlin-specific mutation operators
- 8 traditional mutation operators
- Ability to configure the tool using a json file
- Updated README with installation and usage instructions
- ... and more!
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "mutant-kraken"
version = "0.1.0"
version = "0.1.0-beta"
edition = "2021"

[[bin]]
Expand Down

0 comments on commit fc14618

Please sign in to comment.