Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to CircleCi #233

Closed
wants to merge 5 commits into from
Closed

Conversation

wilzbach
Copy link
Member

Reboot of #205 to use CircleCi instead of Travis as Travis is to clogged from DMD. For now this tests only 64-bit.

It worked on my local fork: https://circleci.com/gh/wilzbach/tools/4

@wilzbach wilzbach changed the title Switch to Circle Switch to CircleCi Jun 15, 2017
dman.d Outdated
@@ -142,7 +142,7 @@ string CHeader(string topic)
static string[] dmccmds =
[
"assert.h", "complex.h", "ctype.h", "fenv.h",
"float.h", "locale.h", "math.h", "setjmp.h,"
"float.h", "locale.h", "math.h", "setjmp.h,",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch but I think the comma should also be removed from the string literal.

{
changes = true;
de._madeVersion = 0x317; // necessary or linux unzip will ignore attributes
de.externalAttributes = (de.externalAttributes & ~(octal!7777 << 16)) | (newattr << 16);
de.fileAttributes = de.fileAttributes & ~octal!7777 | newattr;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about these changes - on one hand if the script wasn't building no idea if it was actually used any more, on the other hand this needs to work correctly so that unzipping .zip files on POSIX results in the correct attributes being set for files, and I doubt this is tested automatically anywhere right now. @MartinNowak ?

@@ -54,6 +54,13 @@ void main(string[] args)
"concurrency", &concurrencyTest,
);

// if the compiler contains a dir separator, it's not the in the global PATH
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there is some grammar bug here

// an absolute path or executable in the PATH is required as the test suite
// used chdir
if (compiler.canFind(dirSeparator))
compiler = compiler.asAbsolutePath.array;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not just .toAbsolutePath?

// for absolute compiler path, we make the path relative again
string fullCompilerPath = void;
if (compiler.isAbsolute)
fullCompilerPath = compiler.asRelativePath(getcwd()).array;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wait, why is this branch computing a relative path when the other branch is computing an absolute one?

.front;
// for absolute compiler path, we make the path relative again
string fullCompilerPath = void;
if (compiler.isAbsolute)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess technically this wasn't necessary since buildPath with an absolute path will always result in that absolute path, but I guess this is more efficient and results in a better error if the path doesn't exist.

build-tools) build_tools;;
test-rdmd) test_rdmd ;;
*) echo "Unknown command"; exit 1;;
esac
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lots of boilerplate that's going to need to be kept in sync across repos. Any ideas on DRY?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, how feasible is to have a single script file that works with both Travis and Circle CI?

dman.d Outdated
@@ -142,7 +142,7 @@ string CHeader(string topic)
static string[] dmccmds =
[
"assert.h", "complex.h", "ctype.h", "fenv.h",
"float.h", "locale.h", "math.h", "setjmp.h,",
"float.h", "locale.h", "math.h", "setjmp.h",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be fixup'd, the other commits are good separately.

@wilzbach wilzbach mentioned this pull request Jul 3, 2017
@wilzbach
Copy link
Member Author

wilzbach commented Jul 3, 2017

Superseded by #239 and #241.

@wilzbach wilzbach closed this Jul 3, 2017
@wilzbach wilzbach deleted the switch-to-circle branch July 3, 2017 00:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants